Pergunta

Eu quero adicionar um DataBinding per Codebehind para uma propriedade anexada e quer mostrar a propriedade Canvas.Left em um TextBox. Como faço para adicionar essa propriedade?

Foi útil?

Solução

É pouco claro da sua pergunta, mas eu acho que você está perguntando como seria de se ligar ao Canvas.Left propriedade anexada e mostrá-la em uma caixa de texto. Eu vou assumir que você quer para um controle diferente do TextBox.

<Canvas>
   <TextBox x:Name="textBox" Text="{Binding ElementName=button, Path=(Canvas.Left)}" />
   <Button x:Name="button" Content="Press me" />
</Canvas>

Observe os suportes em torno da propriedade anexada.

EDIT: Para fazer o equivalente em código, use o seguinte:

Binding binding = new Binding();
binding.Source = button;
binding.Path = new PropertyPath(Canvas.LeftProperty);
textBox.SetBinding(TextBlock.TextProperty, binding);

Outras dicas

Sim, a tela não tem nenhuma propriedade esquerda. é uma propriedade anexada para uma FrameworkItem em um conteúdo Canvas.

<Canvas Width="100" Height="100">
   <TextBox Name="top" Canvas.Left="12"></TextBox>
</Canvas>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top