M-V-VMで書いてると、ViewはViewModelのプロパティにバインドして、ViewModelのプロパティの内容を表示するのが主になります。 View上でのボタンクリックとかもViewModelが提供するCommand型のプロパティとバインドして、完全にViewModelに処理をお任せするのが一般的だと思います。 そうなってくると、ちょっと不便なこととして、ボタンクリックの結果をViewで表示したいとか、コマンド実行前に確認画面を出したいということをしようとすると、どうしようか悩んでしまいます。 ViewModelでMessageBoxを出すコードを書くと、せっかくViewModelとViewを分離しているありがたみがなくなってしまうし、ユニットテストしにくくなってしまいます。一番素直なのは、Viewでボタンのクリックイベントを処理して、確認画面を出した後にViewModelのインス