Tengo un rectángulo en mi XAML y quiero cambiar su Canvas.Left
propiedad en el código detrás:
<UserControl x:Class="Second90.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300" KeyDown="txt_KeyDown">
<Canvas>
<Rectangle
Name="theObject"
Canvas.Top="20"
Canvas.Left="20"
Width="10"
Height="10"
Fill="Gray"/>
</Canvas>
</UserControl>
Pero esto no funciona:
private void txt_KeyDown(object sender, KeyEventArgs e)
{
theObject.Canvas.Left = 50;
}
¿Alguien sabe cuál es la sintaxis para hacer esto?
c#
wpf
code-behind
attached-properties
Edward Tanguay
fuente
fuente
Prueba esto
Hay un grupo de métodos en DependencyObject (base de la mayoría de las clases de WPF) que permiten el acceso común a todas las propiedades de dependencia. Son
Editar Se actualizó el conjunto para usar un literal doble ya que el tipo de destino es un doble.
fuente
Como estamos cambiando la propiedad del 'objeto', sería mejor usar el método sugerido por JaredPar:
fuente