0

Architechture、イベントの流れ-

タイプ1

  1. MainForm-プレゼンターを作成します
  2. 次に、プレゼンターはビューを作成して表示します。

タイプ2-グリッド

  1. MainForm-グリッドプレゼンターを作成します
  2. グリッド内のすべての行は詳細フォームにリンクされています-DetailPresenter
  3. ダブルクリックすると、グリッドプレゼンターが詳細プレゼンターを作成し、次に詳細プレゼンターがビューを作成して表示します。

問題-ビューを更新するか、プレゼンターがデータをリロードする必要があります。たとえば、2つのフォームAとBがあります。両方が同時に開いている場合、Aを変更すると、Bが更新されます。タイプ1のフォームがグリッドを更新する必要がある場合もあります。

メインフォームがすべてのプレゼンターの参照を保持し、必要なイベントをトリガーするソリューションは避けたいと思います。今のところ、私は静的なイベントしか考えられません。ビュー間でのメッセージングのより高い問題を解決したいと思います。より良い解決策はありますか?

4

1 に答える 1

1

コメントを回答に含める:

ここで必要なのは、イベントアグリゲーターパターンです。

あなたが提案したように、単純なメッセンジャーの実装は非常にうまく機能するはずです。独自の実装を展開したい場合は、いつでもCaliburn.Microの実装またはMVVMLightToolkitのMvvmLightMessenger覗いてインスピレーションを得ることができます。

于 2013-01-10T18:01:28.383 に答える