在我的Windows应用商店XAML应用中,我正在使用WinRTXamlToolkit中的TreeView控件,我正在尝试将SelectedItem属性双向绑定到ViewModel上的属性。
开箱即用,SelectedItem属性是只读的,这是有道理的,因为控件支持虚拟化。
我已经看到一些民间工作有附加属性,辅助方法等等,在这个问题中可以看到一个很好的例子
WPF MVVM TreeView SelectedItem
但是所有问题/解决方案都不是基于WinRT,我尝试重新编写WinRT应用程序的解决方案代码的尝试都证明是徒劳的。
所以,我的问题是,这是否可以在WinRT应用程序中使用?我错过了什么? 感谢
答案 0 :(得分:1)
我跳过尝试为视图模型全局提出可绑定属性,而是使用IsSelectedBindingPath
的{{1}}和IsExpandedBindingPath
属性,如{{{ 3}}控件的用法。然后,当您想要从视图模型中选择/展开项目时 - 在debugging tools' example中使用类似于TreeView
的方法,其中我基本上在项目/节点视图模型中将SelectItem()
设置为true视图模型树的根路径,如果预期路径中的节点不存在,则加载树的内容。