Есть ли способ получить элементы внутри UIElementCollection? - PullRequest
0 голосов
/ 12 августа 2011

У меня есть куча флажков в сетке.Я хочу получить к ним доступ, чтобы при запуске я мог установить для них флажок или не быть установленным в соответствии со значением реестра.

У меня есть дочерние элементы Grid в качестве UIElementCollection и отфильтрованы другие типы. Однако естьне похоже на какой-либо способ доступа к данным, хранящимся в коллекции.Есть ли простой способ сделать это?

Ответы [ 2 ]

5 голосов
/ 12 августа 2011

UIElementCollection равно IEnumerable, так что вы можете просто зациклить его ...

foreach( UIElement child in myUIElementCollection)
{
}
1 голос
/ 12 августа 2011

Чтобы упростить поиск элементов управления по типу или тому, что вы можете использовать VisualTreeHelper и перемещать элементы следующим образом:

foreach (UIElement childElement in myUIElementCollection) 
{
  for (int i = 0; i < VisualTreeHelper.GetChildrenCount(childElement); i++)
  {
     DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
     var checkBox = child as CheckBox;
     if (checkBox != null)
     {
         // update it
     }
  }
}

Кстати, почему бы просто не выставить логическое свойство типа IsRegistryValueFound и просто привязать его к свойству CheckBox.IsChecked в XAML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...