1

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

如果我做这样的事情

<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 得到这个矩形?

4

1 回答 1

2

您可以使用FindName方法。

object findRect = Container.FindName("field_1_1");
if (findRect is Rectangle)
{        
    Rectangle rect = findRect as Rectangle;
    //change rect properties
}
于 2013-04-07T11:14:39.177 回答