我有一个WPF应用程序和Canvas。在画布中,我有一个矩形。如何在程序已经在处理时更改他的属性,例如高度或宽度?像这样:
int index = 0;
var childByIndex = canvas.Children[index];
childByIndex.SetValue(Height, 15);
您必须分辨出要设置哪种类型的 dp,如下所示:
((Rectangle)canvas.Children[index]).SetValue(Rectangle.HeightProperty, 15.0);
最简单的方法是在 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);