WPF MVVM -刷新树视图
本文关键字:视图 刷新 MVVM WPF | 更新日期: 2023-09-27 18:05:08
我在WPF MVVM中创建了一个树视图(项目使用MVVM Light)。
当我添加一个数据到一个DataTemplate的树视图,我想重新加载整个树视图。为此,我从我的数据输入视图模型发送一个消息到我的treeview视图模型。
虽然收到了消息,但是树没有被刷新。我再次在每个节点上调用LoadChildren,并使用RaisePropertyChanged,但数据没有得到更新。
TreeView
绑定到您的ViewModel
中的分层集合,并且它有一个属性名称,例如TreeViewData
。假设您的ViewModel
实现了INotifyPropertyChanged
,只需为属性TreeViewData
调用PropertyChanged
处理程序。这将完全刷新TreeView
.
我的回答是基于你正在使用Mvvm光的事实,因为你没有提供代码,我将只是陈述明显的,它可能会解决你的问题。
你的视图模型实现了ViewModelBase接口吗?(实现了INotifiedPropertyChanged)
我从来没有使用过TreeViews,但假设它使用一个集合作为它的数据模板,你必须调用RaisePropertyChanged上的集合,每当你添加/删除一个项目,也每当一个项目的变化。仅在集合的"set"中调用RaisePropertyChanged是不够的。