Расширение древовидных элементов в WPF TreeView - PullRequest
0 голосов
/ 17 января 2012

Я пытаюсь развернуть первые два элемента в древовидном элементе управления в WPF. Древовидное представление привязано к коллекции с использованием шаблона MVVM, и я пытаюсь расширить древовидное представление для первого элемента и его подэлемента при каждом изменении коллекции, связанной с древовидным представлением.

В следующем коде 'secondTreeViewItem' всегда нулевой, есть идеи, почему?

var firstAssembly = (Assembly)assemblyTree.Items[0];
var firstTreeViewItem = (TreeViewItem)assemblyTree.ItemContainerGenerator.ContainerFromItem(firstAssembly);
firstTreeViewItem.IsExpanded = true;

var secondAssembly = (Assembly)firstTreeViewItem.Items[0];
var secondTreeViewItem = (TreeViewItem)firstTreeViewItem.ItemContainerGenerator.ContainerFromItem(secondAssembly);

1 Ответ

1 голос
/ 17 января 2012

Свяжите свойство TreeViewItem.IsExpanded со свойством вашей виртуальной машины в ItemConainerStyle из TreeView (вам не нужно использовать ItemContainerGenerator).Затем вам просто нужно изменить свойство двух целевых элементов.

Второй элемент, вероятно, является нулевым из-за виртуализации, вам нужно ждать расширения первого элемента только тогда, когда будут сгенерированы внутренние элементы.

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