Mvvm 如何像Josh Smith的WPF示例那样从内向外扩展TreeViewItems

Mvvm 如何像Josh Smith的WPF示例那样从内向外扩展TreeViewItems,mvvm,silverlight-4.0,mvvm-light,silverlight-toolkit,Mvvm,Silverlight 4.0,Mvvm Light,Silverlight Toolkit,Josh Smith写了一篇清晰、深思熟虑的关于WPF中TreeView控件的教程。成功的秘诀是将viewmodel的IsExpanded和IsSelected属性绑定到TreeView项。这篇论文很有趣 然而,经过一天的尝试,我开始怀疑这是不可能的 我第一次偶然发现IsExpanded的绑定问题,直到我发现在附加的DependencyProperty上使用setter。这看起来很有希望,但仍然不起作用 在使用WPF的TreeView控件和Silverlight工具包之间似乎有一些基本的区别;这

Josh Smith写了一篇清晰、深思熟虑的关于WPF中TreeView控件的教程。成功的秘诀是将viewmodel的IsExpanded和IsSelected属性绑定到TreeView项。这篇论文很有趣

然而,经过一天的尝试,我开始怀疑这是不可能的

我第一次偶然发现IsExpanded的绑定问题,直到我发现在附加的DependencyProperty上使用setter。这看起来很有希望,但仍然不起作用

在使用WPF的TreeView控件和Silverlight工具包之间似乎有一些基本的区别;这些差异否定了从视图模型驱动视图的可能性,就像Josh在他的精彩示例中所做的那样。搜索viewmodel数据并层叠更新IsExpanded=true对WPF中的Josh来说非常有用,但对Silverlight中的我来说就没那么有用了

事实上,是否可以1在viewmodel对象的层次结构中找到一个节点,然后将该节点到根节点的所有IsExpanded属性设置为True,并在绑定视图中反映出来


我们正在使用MVVM light,如果这是一个帮助的话

似乎没有其他方法,只能像Bea Stollnitz在本系列文章中所描述的那样,对TreeView/TreeView子类进行分类