MVVM C#从不同的ViewModel刷新视图
假设您使用的是MVVM模式:MVVM C#从不同的ViewModel刷新视图,c#,wpf,mvvm,inotifypropertychanged,C#,Wpf,Mvvm,Inotifypropertychanged,假设您使用的是MVVM模式: 您有一个显示一些数据的Datagrid第一视图 从第一个视图打开第二个视图,第二个视图绑定到与第一个视图不同的ViewModel 第二视图有一个“获取”按钮,该按钮获取应在第一视图数据网格中显示的数据 每个Viewmodel都知道相同的静态模型 BaseViewModel实现INotifyPropertyChanged 每个Viewmodel都是从BaseViewModel派生的 点击“获取按钮”后,如何刷新第一视图而不必在第一视图中刷新 提前感谢。请注意,在M
- 您有一个显示一些数据的Datagrid第一视图
- 从第一个视图打开第二个视图,第二个视图绑定到与第一个视图不同的ViewModel
- 第二视图有一个“获取”按钮,该按钮获取应在第一视图数据网格中显示的数据
- 每个Viewmodel都知道相同的静态模型
- BaseViewModel实现INotifyPropertyChanged
- 每个Viewmodel都是从BaseViewModel派生的
提前感谢。请注意,在MVVM中,1对1 V-VM不是一个经验法则。两个视图可以共享同一个模型。看看你的描述,我怀疑你是否真的需要第二个viewmodel!你能告诉我你在第二视图中做了什么吗?如何获取get按钮上的数据?我会A)为第一个viewmodel可以订阅的第二个viewmodel创建一个事件“OnGetButtonSAccess”,或者B)如果第二个视图不是很复杂,那么让第一个viewmodel也成为第二个视图的viewmodel。您使用的是特定的MVVM库吗?Messenger模式允许您解耦其他视图或视图模型正在侦听的元素和激发事件,然后刷新第一个视图作为响应。这样地: