WPF:在(虚拟)树视图中选择项目

本文关键字:视图 选择 项目 虚拟 WPF | 更新日期: 2023-09-27 17:51:02

我有一个虚拟的TreeView,并且成功地使用这里描述的机制在视图中选择给定的域对象(相应地扩展到对象的路径),但是树总是完全实现,对于我的情况(数千个项目)来说,这是非常慢的。

是否有更好的方法从域层次结构中的对象到树项目,而不是这种暴力的方法?我知道域层次结构中项目的路径,所以我只想实现那些位于要选择的项目的路径上的项目,但我还不知道如何做到这一点。

WPF:在(虚拟)树视图中选择项目

我过去使用的一种方法是将IsExpanded属性绑定到ViewModel对象(它代表您的视觉TreeItem)。

然后你可以从你的叶子节点走到树的根,并设置IsExpandedtrue,这意味着没有暴力的非mvvm兼容代码在你的XAML背后的代码这样做。