WPF Prismでは、部分ViewからMain Windowのメソッドを呼び出すことができます。
PrismのイベントAggregatorを使用することで、ViewModel間の直接的な参照を回避し、アプリケーション内で発生するイベントを簡単に処理することができます。
以下は、Aggregatorを使用して、部分ViewからMain WindowのViewModelのメソッドを呼び出す方法の例です。
1. Main WindowのViewModelに、呼び出したいメソッドを作成します。
2. 部分Viewに、イベントAggregatorを注入します。
3. 部分View内で、イベントAggregatorを使用してイベントを発行します。
たとえば、以下のように、"SomeEvent"というイベントを発行することができます。
そのままだと、SomeEventクラスが無いためエラーとなります。 そのため、新しいクラスを作成して PubSubEvent を継承したSomeEventクラスを作成します。
補足ですが、パラメータありのイベント用意する場合は、PubSubEventのジェネリック型に定義します。
4. Main WindowのViewModelに、"SomeEvent"を購読するメソッドを作成します。
これにより、イベントが発行されたときに、該当のメソッドが呼び出されます。
これで、部分ViewからMain WindowのViewModelのメソッドを呼び出すことができます。
部分View内でイベントを発行することで、Main WindowのViewModelにイベントを受信するメソッドを作成し、必要な処理を実行することができます。