如何在后面的代码中访问附加属性?
我在我的XAML中有一个矩形,并想在后面的代码中更改它的Canvas.Left
属性:
<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>
但是这不起作用:
private void txt_KeyDown(object sender, KeyEventArgs e) { theObject.Canvas.Left = 50; }
有谁知道这是什么语法?
Canvas.SetLeft(theObject, 50)
尝试这个
theObject.SetValue(Canvas.LeftProperty, 50d);
DependencyObject(大多数WPF类的基础)上有一组方法允许对所有依赖属性进行公共访问。 他们是
- 设定值
- 的GetValue
- ClearValue
编辑由于目标types是双精度,所以更新了集合以使用双重字面值。
当我们改变“对象”的属性时,最好使用JaredPar的suggedte方法:
theObject.SetValue(Canvas.LeftProperty, 50d);