我的 MainWindows.xaml
包含两个Controls元素。第一个与MapView.xaml
<Controls:MapView />
相关联,第二个与InfoView.xaml
<Controls:InfoView />
相关联。现在我想从 InfoView dataContext
对象 InfoViewModel
MapView DataContext对象 MapViewModel
执行方法>
我该怎么做?
MapView.xaml.cs
public MapView()
{
InitializeComponent();
_mapViewModel = new MapViewModel();
this.DataContext = _mapViewModel;
}
InfoView.xaml.cs
public InfoView()
{
InitializeComponent();
_infoViewModel = new InfoViewModel();
this.DataContext = _infoViewModel;
}
答案 0 :(得分:1)
其中一个方法是使用EventAggregator和您自己的事件从源发送通知并在订阅者中捕获它。
这种方法的一个优点是它是通用的,您可以从任何地方向任何地方发送任何消息以完成任何事情,您从源发送消息并在订阅者中捕获它。
EventAggregator内置于Prism中。