如何从c#中获得动态添加的UI元素

本文关键字:添加 动态 UI 元素 | 更新日期: 2023-09-27 18:07:47

我在获取动态添加字段的属性时遇到了问题。

如果我这样做

<Rectangle Name="field_0_0" Width="10" Height="10" />

那么在c#代码中我可以通过

得到这个
field_0_0.Width = 20;

但是在我的应用程序中我做了这样的事情

for(i = 0; i < 5; i++) {
    for(j = 0; j < 5; j++) {
        String fieldName = "field_" + i + "_" + j;
        Rectangle rec = new Rectangle();
        rec.Name = fieldName;
        Container.Children.Add(rec);
    }
 }

现在的问题是,我不知道如何在我的代码中调用这些字段,当我有它们在屏幕上?例如,我想更改field_1_1

的填充颜色

如何从name中获取这个矩形

如何从c#中获得动态添加的UI元素

可以使用FindName方法

object findRect = Container.FindName("field_1_1");
if (findRect is Rectangle)
{        
    Rectangle rect = findRect as Rectangle;
    //change rect properties
}