MEFとPRISM4を使用するWPFアプリケーションをきれいにシャットダウンするためのベストプラクティスを探しています。最終的には、シェルからアプリケーションを閉じることを確認したいビューモデル(または他のサブスクライバ)へのすべてのイベント/コマンドを管理する「クローズサービス」を探しています。イベントアグリゲーターは最もクリーンな方法ですか?その他の意見/オプション?WPF PRISM 4を使用したグレースフルアプリケーションシャットダウン4
理想的には、ToolbarRegion(私のシェルの2つの領域の1つ)にToolbarViewのボタンがあります。このボタンは、私のToolbarViewModel(ToolbarControlerのコマンドを参照しています)でコマンドを呼び出すと、2つのことを行います(私は思うのですか?)...まず、すべての加入者に閉じる時間を通知し、 ... 2番目に、キャンセルがなければ、何とかシェルに終了を知らせる。私のアプリのシャットダウンモードは "ShutdownMode.OnMainWindowClose"に設定されているので、シェルが終了したら、私はすべて設定する必要があります。
誰かがこれで私を助けることができますか?私は同じものを使用して大規模なアプリケーションを研究開発をしてい
私はこの方法が好きですが、私はまだ質問があります。アクティブなビュー(またはビューモデル)をどのように把握していますか? CanShutdown()を呼び出すためにどのコレクションを繰り返しますか? IRegionManagerを使用してアクティブビューを照会していますか? – Thelonias
シェルでこれを実行するので、シェルで持っているさまざまなレイアウト要素の内容を照会し、それらを繰り返し処理できます。おそらくIRegionManagerでも可能ですが、あなたのシナリオで最も効果的なものを試してみてください。 –