2009-03-01 4 views

Répondre

17

Il est un peu difficile de votre question, mais je pense que vous demandez comment on lierait à la propriété attachée Canvas.Left et l'afficher dans un TextBox. Je suppose que vous le voulez pour un contrôle autre que le TextBox.

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

Notez les parenthèses autour de la propriété jointe.

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); 
+1

La liaison de code ne fonctionne pas comme dans l'exemple de code. La troisième ligne devrait se lire comme binding.Path = new PropertyPath (Canvas.Left); – Matze

+0

Merci ageektrapped. Mais je recherche un chemin par code derrière, exactement par C#. Je connais le chemin par WPF. – Taladan

-3

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

<Canvas Width="100" Height="100"> 
    <TextBox Name="top" Canvas.Left="12"></TextBox> 
</Canvas> 
+2

Ceci ne répond pas du tout à la question. – trapicki

Questions connexes