WPF MVVM -刷新树视图

本文关键字:视图 刷新 MVVM WPF | 更新日期: 2023-09-27 18:05:08

我在WPF MVVM中创建了一个树视图(项目使用MVVM Light)。

当我添加一个数据到一个DataTemplate的树视图,我想重新加载整个树视图。为此,我从我的数据输入视图模型发送一个消息到我的treeview视图模型。

虽然收到了消息,但是树没有被刷新。我再次在每个节点上调用LoadChildren,并使用RaisePropertyChanged,但数据没有得到更新。

WPF MVVM -刷新树视图

TreeView绑定到您的ViewModel中的分层集合,并且它有一个属性名称,例如TreeViewData。假设您的ViewModel实现了INotifyPropertyChanged,只需为属性TreeViewData调用PropertyChanged处理程序。这将完全刷新TreeView .

我的回答是基于你正在使用Mvvm光的事实,因为你没有提供代码,我将只是陈述明显的,它可能会解决你的问题。

你的视图模型实现了ViewModelBase接口吗?(实现了INotifiedPropertyChanged)

我从来没有使用过TreeViews,但假设它使用一个集合作为它的数据模板,你必须调用RaisePropertyChanged上的集合,每当你添加/删除一个项目,也每当一个项目的变化。仅在集合的"set"中调用RaisePropertyChanged是不够的。