Question

Je souhaite ajouter un DataBinding par Codebehind pour une propriété attachée et afficher la propriété Canvas.Left dans une zone de texte. Comment puis-je ajouter cette propriété?

Était-ce utile?

La solution

Votre question manque quelque peu de clarté, mais je pense que vous demandez comment lier la propriété attachée Canvas.Left et l’afficher dans une zone de texte. Je suppose que vous le souhaitez pour un contrôle autre que la zone de texte.

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

Notez les crochets autour de la propriété attachée.

EDIT: Pour faire l’équivalent en code, utilisez ce qui suit:

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

Autres conseils

Oui, une toile n'a pas de propriété de gauche. c'est une propriété attachée à un FrameworkItem dans un contenu Canvas.

<Canvas Width="100" Height="100">
   <TextBox Name="top" Canvas.Left="12"></TextBox>
</Canvas>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top