MEFとPRISM4を使用するWPFアプリケーションをクリーンにシャットダウンするための「ベストプラクティス」(ベストプラクティスがある場合)を探しています。最終的には、シェルからアプリケーションを閉じても問題がないことを確認したいビューモデル(または他のサブスクライバー)までのすべてのイベント/コマンドを管理する、ある種の「サービスを閉じる」を探しています。イベントアグリゲーターは最もクリーンな方法ですか?他の意見/オプション?
理想的には、ToolbarRegion(シェルの2つの領域のうちの1つ)のToolbarViewにボタンがあります。このボタンは、ToolbarViewModelのコマンド(ToolbarControlerのコマンドを参照)を呼び出し、次に2つのことを実行します(私は思いますか?)...最初に、すべてのサブスクライバーにクローズ時間であることを通知し、いずれかのサブスクライバーがクローズをキャンセルできるようにしますそして...次に、キャンセルされない場合は、どういうわけかシェルに閉じるように通知します。私のアプリのシャットダウンモードは「ShutdownMode.OnMainWindowClose」に設定されているので、シェルが閉じたら、すべて設定されているはずです。
誰かがこれを手伝ってくれますか?