Как перебрать UIElement в списке <UIElement>? - PullRequest
1 голос
/ 04 апреля 2011

У меня есть список, который содержит 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 является динамическим и неизменным, поэтому я и используюСписок вместо 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";

но как я могу сделать это для элемента UIE, который находится в списке?

List<UIElement>[int].UIElement.Properties

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Вы бы сделали это точно так же. Вы можете просмотреть и найти соответствующий индекс.

foreach (Canvas c in cvList) {
    // Do something.
}
0 голосов
/ 04 апреля 2011

Этот код будет работать как со списками, так и с массивами:

for (int i = 0; i<myInt; i++)
{
    cv[i].Content = "Hello";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...