Silverlight: определить родительский TreeViewItem? - PullRequest
3 голосов
/ 22 ноября 2010

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

Однако свойство TreeViewItem.ParentTreeViewItem является внутренним и, следовательно, недоступным.Нет причин скрывать это свойство от разработчиков, однако кто-то очень умный решил, что так.

Как мне поступить?Есть ли какие-то обходные пути (размышления о частных участниках не работают в SL)?

1 Ответ

3 голосов
/ 25 ноября 2010

Нашел уродливый, но работающий способ:

static TreeViewItem GetParentItem(TreeViewItem item)
{
  for (var i = VisualTreeHelper.GetParent(item); i != null; i = VisualTreeHelper.GetParent(i))
    if (i is TreeViewItem)
      return (TreeViewItem)i;

  return null;
}

Столько потраченных впустую циклов ЦП из-за скрытого свойства только для чтения: (

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