Frage

Ich möchte ein Databinding pro Codebehind für eine angefügte Eigenschaft hinzuzufügen und die Canvas.Left Eigenschaft in einem Text angezeigt werden soll. Wie kann ich diese Eigenschaft hinzufügen?

War es hilfreich?

Lösung

Es ist etwas unklar, aus Ihrer Frage, aber ich glaube, Sie zu fragen, wie man auf die beigefügte Eigenschaft Canvas.Left binden würde und zeigt es in einem Text. Ich nehme an, Sie es für eine Kontrolle möchten, dass andere als die TextBox.

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

Beachten Sie die Klammern um die angefügten Eigenschaft.

EDIT: Zur Ermittlung des Äquivalents in Code zu tun, verwenden Sie die folgenden Schritte aus:

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

Andere Tipps

Ja, hat eine Leinwand keine linke Eigenschaft. es ist eine angefügte Eigenschaft für eine FrameworkItem in einem Canvas-Inhalt.

<Canvas Width="100" Height="100">
   <TextBox Name="top" Canvas.Left="12"></TextBox>
</Canvas>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top