如何更改UIElement的值

时间:2013-09-21 17:27:23

标签: c# wpf canvas uielement

我有一个WPF应用程序和Canvas。在画布中我有一个矩形。如何在程序处理过程中更改其属性,如高度或宽度?类似的东西:

int index = 0; 
var childByIndex = canvas.Children[index]; 
childByIndex.SetValue(Height, 15);

2 个答案:

答案 0 :(得分:1)

您必须告诉您要设置的dp类型如下所示:

((Rectangle)canvas.Children[index]).SetValue(Rectangle.HeightProperty, 15.0);

答案 1 :(得分:1)

最简单的方法是在XAML中为矩形命名,然后在代码中使用它:

<Canvas>
    <Rectangle x:Name="rect" />
</Canvas>
rect.Height = 15;

如果由于某种原因您无法在XAML中为矩形指定名称,则可以在执行操作之前将找到的对象强制转换为Rectangle

Rectangle rect = (Rectangle)childByIndex;
rect.Height = 15;

如果您要更改附加属性,例如画布中的位置,您可以这样做:

Canvas.SetTop(rect, 10);
Canvas.SetLeft(rect, 20);