MVVM以编程方式选择树视图项

时间:2009-11-25 15:52:35

标签: wpf mvvm treeview selection

似乎其他人对这个问题有不同的看法,但据我所知,对于在单一视图模型中使用集合的人来说,它还没有得到解决。

我有一个包含ObservableCollection对象的VM,而不是每个对象的VM。因此我不认为我可以使用经常讨论的SelectedItem bool,因为我不认为我可以绑定到集合对象上的属性...只是VM上的属性。

所以我已经完成了很好的编写,没有代码隐藏和最小耦合,但是当一个新项目被添加到绑定到treeView的集合时,我需要选择该项目。

想法?

谢谢!

2 个答案:

答案 0 :(得分:4)

Josh Smith有一篇关于CodeProject的文章,他建议创建一个ViewModel对象来表示TreeView的每个节点,然后根据需要对它们进行自动装配。

http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx

答案 1 :(得分:4)

在考虑这个问题时。你应该为树视图的每个元素构建一个包装器,它上面有IsSelected bool以及IsExpanded bool,它们使生命更容易显示数据。您甚至可以将它们添加到您的班级并从那里使用它们。