0

MainWindows.xaml包含两个 Controls 元素。第一个与 连接,MapView.xaml <Controls:MapView />第二个与连接InfoView.xaml <Controls:InfoView />。现在我想从Object的InfoView dataContext对象执行方法。InfoViewModelMapView DataContextMapViewModel

我怎样才能做到这一点?

MapView.xaml.cs

public MapView()
    {
        InitializeComponent();
        _mapViewModel = new MapViewModel();
        this.DataContext = _mapViewModel;
    }

InfoView.xaml.cs

public InfoView()
    {
        InitializeComponent();
        _infoViewModel = new InfoViewModel();
        this.DataContext = _infoViewModel;
    }
4

1 回答 1

1

一种方法是使用 EventAggregator 和您自己的事件从源发送通知并在订阅者中捕获它。

这种方法的一个优点是它是通用的,你可以从任何地方发送任何消息到任何地方来完成任何事情,你从源发送消息并在订阅者中捕获它。

EventAggregator 内置于 Prism 中。

于 2013-01-11T23:47:33.670 回答