在WPF TreeView中展开树视图项

时间:2012-01-16 20:29:10

标签: .net wpf treeview

我正在尝试在WPF中的树视图控件中展开前两个项目。树视图使用MVVM模式绑定到集合,我试图扩展第一个项目的树视图,并且当树视图绑定集合发生更改时,它是子项目。

在下面的代码中,'secondTreeViewItem'始终为null,任何想法为什么?

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 个答案:

答案 0 :(得分:1)

TreeViewItem.IsExpanded属性绑定到ItemConainerStyle的{​​{1}}上的VM上的属性(您几乎不需要使用TreeView)。然后你只需要更改两个目标项目的属性。

由于虚拟化,第二项可能为null,您需要等待第一项的扩展,然后才能生成内部项。