Adicionar DataBinding para anexado Propriedade per Código Behind
-
03-07-2019 - |
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?
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