私は、アプリケーションのどの部分でも使用できるポップアップフォームを扱うための戦略を作成しようとしています。これまでのところ私の理解では、私のMainWindowのルートに単一のUserControl
が必要です。これは、アプリケーション内で送信されるメッセージを処理する独自のViewModelにバインドされます。MVVMに優しいダイアログストラテジーを作成する
私はMVVM Lightを使用していますが、私はMessenger
クラスのかなり新しいです。
マスター/詳細シナリオを想像してみましょう。オブジェクトのリストは、ListBox
に含まれています。これらの項目の1つを選択して編集ボタンをクリックすると、画面全体をカバーするUserControl
が表示されます。ユーザーは選択した項目を編集し、[OK]をクリックして変更をコミットできます。
DataTemplate
を介してViewModelをレンダリングし、すべてのオブジェクトの変更を処理するために、(おそらくViewModelを)投げることができるように、「汎用」に開かれたUserControl
が必要です。 [OK]をクリックすると送信側クラスにコールバックし、前と同じように変更を保持します。
これは有用であろういくつかの状況では、(それを閉じるには、[OK]を除く)なし必要なユーザー入力
- 表示エラーメッセージがデータ項目 ための編集フォームを表示...です
- 確認ダイアログ(標準のMessageBoxとよく似ています)
これを達成する方法のコードサンプルは誰でも提供できますか?