将TreeView.SelectedItem绑定到WinRT应用程序中ViewModel中的属性

时间:2014-07-25 14:36:54

标签: windows-runtime treeview winrt-xaml winrt-xaml-toolkit

在我的Windows应用商店XAML应用中,我正在使用WinRTXamlToolkit中的TreeView控件,我正在尝试将SelectedItem属性双向绑定到ViewModel上的属性。

开箱即用,SelectedItem属性是只读的,这是有道理的,因为控件支持虚拟化。

我已经看到一些民间工作有附加属性,辅助方法等等,在这个问题中可以看到一个很好的例子

WPF MVVM TreeView SelectedItem

但是所有问题/解决方案都不是基于WinRT,我尝试重新编写WinRT应用程序的解决方案代码的尝试都证明是徒劳的。

所以,我的问题是,这是否可以在WinRT应用程序中使用?我错过了什么? 感谢

1 个答案:

答案 0 :(得分:1)

我跳过尝试为视图模型全局提出可绑定属性,而是使用IsSelectedBindingPath的{​​{1}}和IsExpandedBindingPath属性,如{{{ 3}}控件的用法。然后,当您想要从视图模型中选择/展开项目时 - 在debugging tools' example中使用类似于TreeView的方法,其中我基本上在项目/节点视图模型中将SelectItem()设置为true视图模型树的根路径,如果预期路径中的节点不存在,则加载树的内容。