私は MVVM Light を使用して MVVM アプリケーションに取り組んでいますが、全体として、とても使いやすいと感じています。しかし、私はしつこい問題を抱えており、誰かが助けてくれることを願っています.
DialogMessage
VM から View にインスタンスを送信してダイアログを表示しています。結果はコールバックを介して VM に送り返されます。これまでのところ問題ありません。
ただし、ダイアログの結果 (OK、はい、いいえ、キャンセルなど) は のメンバーとして返されenum System.Windows.MessageBoxResult
ます。これは、View/ViewModel の分離に反しているように見えます。これは明らかに UI の型であるため、VM はこれまたは名前空間MessageBoxResult
の何かに依存するべきではありません。System.Windows
私が探しているのはDialogMessage
、代わりのコールバックを使用することです。たとえば、は に依存せずにユーザーの選択を表すために私が定義した型Action<UserResult>;
です。Action<System.Windows.MessageBoxResult>;
UserResult
MessageBoxResult
これは可能ですか、それとも UI の概念を VM から除外したいという私が厳しすぎるのでしょうか?