如何在mvvm中从另一个视图更新一个视图上的控件
您好,我的MVVM应用程序中有三个基于区域的视图。我是MVVM新手,我想在点击按钮时从不同的视图更新DataGrid如何在mvvm中从另一个视图更新一个视图上的控件,mvvm,dependency-injection,dependencies,prism,Mvvm,Dependency Injection,Dependencies,Prism,您好,我的MVVM应用程序中有三个基于区域的视图。我是MVVM新手,我想在点击按钮时从不同的视图更新DataGrid 一个视图有一个按钮,第二个视图有datagrid。我想在按下其他视图上的按钮时更新datagrid结果或绑定datagrid。我看到很少有关于用eventService做这件事的帖子,但我不知道怎么做。谁能给我举个例子,因为我是新来的,所以不确定。提前感谢。一个简单的解决方案是在两个视图中使用相同的ViewModel: 视图模型: public class MyModel : V
一个视图有一个按钮,第二个视图有datagrid。我想在按下其他视图上的按钮时更新datagrid结果或绑定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 */); }
}
公共类MyModel:ViewModel
{
静态myModel;
公共静态MyModel当前{get{if(MyModel==null)MyModel=new MyModel();返回MyModel;}}
公共IEnumerable数据{get{…}集{/*通知*/}
public ICommand SetData{get{返回新的DelegateCommand(()=>Data=/*返回数据*/);}
}
按钮视图:
<Button Command={Binding SetData} />
数据网格视图:
<DataGrid ItemsSource={Binding Data} />
在两个视图的代码隐藏中,添加到构造函数:
this.DataContext=MyModel.Current