Agregar enlace de datos para la propiedad adjunta por código detrás
-
03-07-2019 - |
Pregunta
Quiero agregar un DataBinding per Codebehind para una propiedad adjunta y quiero mostrar la propiedad Canvas.Left
en un TextBox. ¿Cómo agrego esta propiedad?
Solución
No queda claro de tu pregunta, pero creo que estás preguntando cómo se podría unir a la propiedad adjunta Canvas.Left
y mostrarla en un TextBox. Asumiré que lo desea 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>
Note los corchetes alrededor de la propiedad adjunta.
EDITAR: Para hacer el equivalente en código, usa lo siguiente:
Binding binding = new Binding();
binding.Source = button;
binding.Path = new PropertyPath(Canvas.LeftProperty);
textBox.SetBinding(TextBlock.TextProperty, binding);
Otros consejos
Sí, un lienzo no tiene propiedad izquierda. es una propiedad adjunta para un FrameworkItem en un Contenido de Canvas.
<Canvas Width="100" Height="100">
<TextBox Name="top" Canvas.Left="12"></TextBox>
</Canvas>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow