Microsoft.TeamFoundation.MVVMでValidation

最近作ってる「イベントログからPCの稼働時間を取得するアプリ」にエラーチェックを組み込んだ。

vali001

エラーはToolTipで表示している。

以下、手順。

Microsoft.TeamFoundation.MVVMのWindowViewModelは、ValidatingViewModelBaseから継承していてIDataErrorInfoを含んでいる。

ValidatingViewModelBaseのpublic List<ValidationRule> ValidationRules { get; }にValidationRuleを追加すれば、ViewのValidatesOnDataErrorsでエラー状態が表示できる。

ValidationRuleから継承した日付のValidationRuleを作って、

ViewModelのコンストラクタで、ValidationRules に追加

ViewのXAMLでValidatesOnDataErrors=Trueを設定

DatePickerのStyleでエラー時にToolTipを表示するようにする。

「表示」ボタンが非活性になっているのは、CommandのCanExecuteでHasErrors()をみてTrue/Falseを返しているから。

DatePickerのStyleはMSDNのDatePicker のスタイルとテンプレートから。

ToolTipmpStyleはMSDNのToolTip のスタイルとテンプレートから。

 

%d人のブロガーが「いいね」をつけました。