如何在List <uielement>?</uielement>中循环遍历UIElement

时间:2011-04-04 01:23:28

标签: c# wpf list uielement

我有一个包含Canvas的列表,其中还包含一些UIElement,如下所示:

List<Canvas> cvList = new List<Canvas>();
Canvas cv = new Canvas();
cv.Width = 100;
cv.Height = 100;
Button btn = new Button();
btn.Content = "OK";
cv.Children.Add(btn);
cvList.Add(cv);

Canvas的数组大小是动态且不可变的,这就是我使用List而不是Array的原因。

我的问题是,如果我要修改一个UIElement的属性(即Button.Content),我该如何访问Button属性?如果它是一个数组,我可以简单地遍历数组并找到匹配的索引,如下所示:

Canvas[] cv = new Canvas[myInt];
Button[] btn = new Button[myInt];
for (int i = 0; i<myInt; i++)
{
cv[i] = new Canvas();
btn[i] = new Button();
btn[i].Content = "OK";
cv[i].Children.Add(btn[i]);
}
btn[5].Content = "Not OK";

但是我怎么能对列表中的UIElement这样做呢?

List<UIElement>[int].UIElement.Properties

2 个答案:

答案 0 :(得分:1)

你会以完全相同的方式做到这一点。您可以遍历并找到匹配的索引。

foreach (Canvas c in cvList) {
    // Do something.
}

答案 1 :(得分:0)

此代码适用于列表和数组:

for (int i = 0; i<myInt; i++)
{
    cv[i].Content = "Hello";
}