0

MainWindows.xaml2 つの Controls 要素が含まれています。最初は で接続されMapView.xaml <Controls:MapView />、2 番目は で接続されInfoView.xaml <Controls:InfoView />ます。今、 ObjectからInfoView dataContextobjectInfoViewModelからメソッドを実行したいと思います。MapView 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

アプローチの 1 つは、EventAggregator と独自のイベントを使用して、ソースから通知を送信し、それをサブスクライバーでキャッチすることです。

このアプローチの利点は、それが汎用的であることです。任意のメッセージをどこからでもどこにでも送信して、何かを達成できます。ソースからメッセージを送信し、それをサブスクライバーでキャッチします。

EventAggregator は Prism に組み込まれています。

于 2013-01-11T23:47:33.670 に答える