嗨,我的 MVVM 应用程序中有三个基于区域的视图。我是 MVVM 的新手,我想从不同的视图单击按钮来更新 DataGrid。
一个视图有一个按钮,第二个视图有数据网格。当按下其他视图上的按钮时,我想更新数据网格结果或绑定数据网格。我看到很少有关于使用 eventService 进行操作的帖子,但我不确定如何操作。任何人都可以给我一些例子,因为我是新手,所以不确定。提前致谢。
嗨,我的 MVVM 应用程序中有三个基于区域的视图。我是 MVVM 的新手,我想从不同的视图单击按钮来更新 DataGrid。
一个视图有一个按钮,第二个视图有数据网格。当按下其他视图上的按钮时,我想更新数据网格结果或绑定数据网格。我看到很少有关于使用 eventService 进行操作的帖子,但我不确定如何操作。任何人都可以给我一些例子,因为我是新手,所以不确定。提前致谢。
一个简单的解决方案是在两个视图中使用相同的 ViewModel:
视图模型:
public class MyModel : ViewModel
{
static myModel;
public static MyModel Current { get { if(myModel==null) myModel=new MyModel(); return myModel; } }
public IEnumerable<T> Data { get { ... } set { /* Notification */ }}
public ICommand SetData {get { return new DelegateCommand(()=>Data= /* return the data */); }
}
按钮视图:
<Button Command={Binding SetData} />
数据网格视图:
<DataGrid ItemsSource={Binding Data} />
在两个视图的代码隐藏中,添加到构造函数: this.DataContext = MyModel.Current;