0

ビュー モデルで messageBox を使用して、MVVM パターンを使用するときにダイアログを表示するのは良い解決策ではないことを常に読んでいます。

表示 もう 1 つの解決策は、ビューとビュー モデルを作成することだと思います。このビュー モデルは、メインのビュー モデルに作成され、ダイアログのビューとビュー モデルを関連付けます。さらに、メイン ビュー モデルから、ダイアログの結果として返されるダイアログ ビュー モデルに渡されるクラスを作成する必要があります。

しかし、本当に 2 番目の方法の方が優れているのでしょうか。違いは何ですか?どちらの場合も、ダイアログの結果が出るまで待つ必要があるためです。

または、両方のソリューションが悪い選択肢ですか?

ありがとう。

4

1 に答える 1

2

私の意見では、MessageBox の ViewModel を作成するのはやり過ぎです。ShowMessage イベントを使用して ViewModel のインターフェイスを作成し、ViewModel にバインドできる添付プロパティを使用して添付ビヘイビアを作成し、ShowMessage イベントのリスナーを登録し、イベントが発生したときに MessageBox を開きます。メッセージ ボックスの結果は、EventArgs を介して渡すことができます。

ここでの違いは、インターフェイスと接続された動作を再利用可能なコンポーネントにカプセル化できることと、それを使用するために ViewModel に最小限のコードしか必要ないことです。

于 2013-05-05T10:36:25.230 に答える