以下の質問をさせてください。
MVVMのWPFアプリケーションにて、ダイアログを表示し、OKボタンが押された時点でチェックを行い、エラー時はメッセージを表示して
ダイアログを終了しないように考えています。
このダイアログの次の作業の為、OKとキャンセルの判別を行いたく、MVVMのコマンドと別にXAMLにClickイベントの処理を追加しましたが、
DialogResultを設定するとViewModelで何もしなくてクローズされてしまいます。
ViewModelのコマンドでクローズする/しないの処理を入れて、OKとキャンセルの判別を行うにはどうすれば良いでしょうか?
初歩的な質問で申し訳ありませんが、よろしくお願いします。
xxxView.xaml
lang
1 <Button Name="OkButton" Content="OK" Command="{Binding OKCommand}" Height="23" Margin="10,0,10,5" Width="80" Click="OkButton_Click"/> 2 <Button Name="CancelButton" Content="キャンセル" Command="{Binding CancelCommand}" Height="23" Margin="0,0,0,5" IsCancel="True" Width="80" Click="CancelButton_Click"/>
xxxView.xaml.cs
lang
1 private void OkButton_Click(object sender, RoutedEventArgs e) 2 { 3 this.DialogResult = true; 4 } 5 6 private void CancelButton_Click(object sender, RoutedEventArgs e) 7 { 8 this.DialogResult = false; 9 } 10
xxxViewMode.cs
lang
1 public void OKCommandDo() 2 { 3 // エラー発生 メッセージ表示後、ウインドウを閉じない 4 return; 5 6 // 保存等の正常処理 7 8 // 終了処理 ウインドウを閉じる 9 Messenger.Raise(new WindowActionMessage(WindowAction.Close, "Close")); 10 } 11

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/25 12:14
2018/10/26 02:17
2018/10/26 08:35
2018/10/26 09:13
2018/10/27 06:37
2018/10/27 07:16
2018/10/28 04:20
2018/10/29 01:28
2018/10/31 04:28
2018/10/31 04:31
2018/10/31 04:45
2018/10/31 04:48
2018/10/31 04:52
2018/10/31 06:23
2018/10/31 07:03
2018/10/31 07:14
2018/10/31 07:18
2018/10/31 07:59
2018/10/31 08:05
2018/10/31 08:19
2018/10/31 08:26
2018/10/31 08:31
2018/10/31 08:33
2018/10/31 08:47
2018/10/31 08:50
2018/10/31 08:58
2018/10/31 09:05
2018/10/31 09:16
2018/10/31 09:18
2018/10/31 09:27
2018/10/31 09:28
2018/10/31 10:10
2018/10/31 10:11
2018/10/31 10:22
2018/10/31 10:35
2018/10/31 11:09
2018/11/06 08:47
2018/11/06 08:58
2018/11/07 00:59 編集
2018/11/14 07:19
2018/12/04 06:41
2018/12/10 11:07