Domanda

Voglio aggiungere un DataBinding per Codebehind per una Proprietà collegata e voglio mostrare la proprietà Canvas.Left in una TextBox. Come aggiungo questa proprietà?

È stato utile?

Soluzione

Non è abbastanza chiaro dalla tua domanda, ma penso che ti stia chiedendo come si legherebbe alla proprietà collegata Canvas.Left e la mostri in una TextBox. Suppongo che lo desideri per un controllo diverso da TextBox.

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

Nota le parentesi attorno alla proprietà allegata.

EDIT: Per fare l'equivalente nel codice, utilizzare quanto segue:

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

Altri suggerimenti

Sì, una tela non ha proprietà a sinistra. è una proprietà collegata per un FrameworkItem in un contenuto Canvas.

<Canvas Width="100" Height="100">
   <TextBox Name="top" Canvas.Left="12"></TextBox>
</Canvas>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top