0

私の要件を非常に簡単な手順にまとめます。Webでたくさん検索しましたが、非常に混乱しました。

メイン ウィンドウ (.xaml) を取得しました。保存オプション (ユーザー コントロール) を使用してメニュー コントロールを取得しました。タブ コントロール (3 つのタブ) 内の同じウィンドウに、さらに 3 つのユーザー コントロール (.xaml) を取得しました。

各ユーザー コントロールにはデータ エントリがあり、データを保存するための Save() メソッドを含む独自のビュー モデル クラスがあります (ビュー モデルに ICommand および INotifiyPropertyChanged を実装)。

今、個々のユーザーコントロール(タブ内)に保存ボタンがある場合、それは正常に機能します(これを達成するためにコマンドを使用しました)。しかし、私は、ユーザーコントロールでもあり、メインウィンドウ内にあるメニューの「保存」をクリックするだけで、動作するように保存する必要があります。メニューの保存は、3 つのユーザー コントロールすべてに対して共通の保存のように機能する必要があります。

そのため、Menu はアクティブなユーザーコントロール (おそらくタブ変更イベントなどに基づいて) を識別し、それに応じて ViewModel でそのユーザーコントロールの Save() メソッドを起動するようにスマートにする必要があります。

4

1 に答える 1

0

Event Aggregatorを使用して、アプリケーションのパーツ間の通信を緊密に結合することなく実現することを検討したことがありますか。

于 2013-04-26T22:11:56.853 に答える