2009-03-01 14 views

Respuesta

17

No está claro por su pregunta, pero creo que está preguntando cómo se vincularía la propiedad adjunta Canvas.Left y mostrarla en un TextBox. Asumiré que lo quieres para un control que no sea el TextBox.

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

Nota los corchetes de la propiedad adjunta.

EDIT: para hacer el equivalente en código, utilice la siguiente:

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

El código de enlace no funciona como en el código de ejemplo. La tercera línea debe leer como binding.Path = new PropertyPath (Canvas.Left); – Matze

+0

Gracias ageektrapped. Pero busco una forma por código subyacente, exactamente por C#. Sé el camino por WPF. – Taladan

-3

Sí, un lienzo tiene ninguna propiedad izquierda. es una propiedad adjunta para FrameworkItem en un contenido de Canvas.

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

Esto no responde la pregunta en absoluto. – trapicki

Cuestiones relacionadas