Mam prostokąt w moim XAML i chcę zmienić jego Canvas.Left
właściwość w kodzie za:
<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>
Ale to nie działa:
private void txt_KeyDown(object sender, KeyEventArgs e)
{
theObject.Canvas.Left = 50;
}
Czy ktoś wie, jaka jest składnia, aby to zrobić?
c#
wpf
code-behind
attached-properties
Edward Tanguay
źródło
źródło
Spróbuj tego
Na DependencyObject (podstawa większości klas WPF) znajduje się grupa metod, które umożliwiają wspólny dostęp do wszystkich właściwości zależności. Oni są
Edycja Zaktualizowano zestaw, aby używał podwójnego literału, ponieważ typ docelowy jest podwójny.
źródło
Ponieważ zmieniamy właściwość `` obiektu '', lepiej byłoby użyć metody suggedte od JaredPar:
źródło