私はPrismを初めて使用しており、プリズム2アプリケーションでビューを非アクティブにするためのベストプラクティスを決定しようとしています。ビューを非アクティブにします。ビューは、ボタンがクリックされたときにコマンドを実行しています。Prism 2 SL:ボタンをクリックしたときに領域からビューを削除
ビューモデルはコマンドを受信していますが、viewmodelにはregionmanagerへの参照がありません。
ビューモデルはリージョンマネージャーについて知っていますか?また、ビューモデルに参照があったとしても、それを含む領域の非アクティブメソッドに渡すビューインスタンスが必要です。
私は、アプリケーションのMVVMパターンを使用しています。
ユーザーがボタンをクリックしたときに歓迎される画面です。メインのアプリビューを明らかにするために消えたいです。私が使用している地域は単なるコンテンツコントロールです。ビューがコントローラの一部であるIModuleを使用することは理にかなっています - それはビューを登録するものですか? – MIantosca
その場合、私は「はい」と言います。 viewmodelはEventAggregator(Prism SLには存在しますか?)を使用して、ビューを破棄する必要があるオブジェクトを示すことができます。そうすれば、あなたのビュー/ビューモデルは、実際のリージョン管理の仕事からうまく分離したままになります。 –
クール - イベントマネージャーからビューモデルを切り離すためにイベントを使用することを考えました。おそらく、非アクティブにする必要があるときに任意のビューで発生させることができる汎用イベントを作成します。ビューモデルはビューに参照を渡して渡すことができますか? – MIantosca