C# WPF MVVM-刷新树视图
我已经在WPF MVVM中创建了一个树状视图(项目使用MVVM Light) 当我向Treeview的DataTemplate添加数据时,我希望重新加载整个Treeview。为此,我将从我的数据输入视图模型向我的树视图模型发送一条消息C# WPF MVVM-刷新树视图,c#,.net,wpf,data-binding,mvvm,C#,.net,Wpf,Data Binding,Mvvm,我已经在WPF MVVM中创建了一个树状视图(项目使用MVVM Light) 当我向Treeview的DataTemplate添加数据时,我希望重新加载整个Treeview。为此,我将从我的数据输入视图模型向我的树视图模型发送一条消息 虽然收到消息,但树不会刷新。我在每个节点上再次调用了LoadChildren,并使用了RaisePropertyChanged,但数据没有得到更新。TreeView绑定到您的ViewModel中的分层集合,并且它有一个属性名,例如TreeViewData。假设您的
虽然收到消息,但树不会刷新。我在每个节点上再次调用了LoadChildren,并使用了RaisePropertyChanged,但数据没有得到更新。
TreeView
绑定到您的ViewModel
中的分层集合,并且它有一个属性名,例如TreeViewData
。假设您的ViewModel
实现了INotifyPropertyChanged
,只需调用属性TreeViewData
的PropertyChanged
处理程序即可。这将完全刷新TreeView
,TreeView
绑定到ViewModel
中的分层集合,并且它有一个属性名称,例如TreeViewData
。假设您的ViewModel
实现了INotifyPropertyChanged
,只需调用属性TreeViewData
的PropertyChanged
处理程序即可。这将完全刷新TreeView
我的回答基于您使用Mvvm light的事实,因为您没有提供代码,所以我将仅陈述显而易见的问题,它可能会解决您的问题
您的viewmodel是否实现了ViewModelBase界面?(实现INotifiedPropertyChanged的)
我从未使用过TreeView,但假设它使用一个集合作为其数据模板,则无论何时添加/删除一个项,还是每当一个项发生更改时,都必须对集合调用RaisePropertyChanged。仅在集合的“集合”中调用RaisePropertyChanged是不够的。我的答案是基于您使用Mvvm light的事实,因为您没有提供代码,所以我将仅说明显而易见的问题,这可能会解决您的问题 您的viewmodel是否实现了ViewModelBase界面?(实现INotifiedPropertyChanged的)
我从未使用过TreeView,但假设它使用一个集合作为其数据模板,则无论何时添加/删除一个项,还是每当一个项发生更改时,都必须对集合调用RaisePropertyChanged。仅在集合的“集合”中调用RaisePropertyChanged是不够的。像往常一样:没有代码,我们做不了多少事情。请发布相关部分。像往常一样:没有代码,我们做不了多少。请发布相关部分。他使用的是mvvm light,因此其viewModel必须实现ViewModelBase,而ViewModelBase已经实现INotifyPropertyChanged.great,然后指示ViewModelBase发出更改通知Hi感谢提示。实际上,我是在我的TreeViewModel的Children属性上引发刷新事件,但是父属性没有引发已更改的属性。在包含它之后,树将被刷新。也很抱歉,我无法发布代码。这是我的公司代码,不允许我在网上发布。我正在创建一个复制程序,在此之前代码可以工作。谢谢他使用的是mvvm light,因此其viewModel必须实现ViewModelBase,后者已经实现INotifyPropertyChanged.great,然后指示ViewModelBase发出更改通知Hi感谢提示。实际上,我是在我的TreeViewModel的Children属性上引发刷新事件,但是父属性没有引发已更改的属性。在包含它之后,树将被刷新。也很抱歉,我无法发布代码。这是我的公司代码,不允许我在网上发布。我正在创建一个复制程序,在此之前代码可以工作。谢谢