INotifyDataErrorInfoメモ

以下はまだメモ。後でもう少しちゃんとまとめる。

INotifyDataErrorInfoはSilverlight 4で追加された新しいバリデーションメカニズムのためのインタフェースであり、それまでの標準的なバリデーションでは困難だった、

・一度の検証で複数のエラー返すことができる
・stringクラス以外のエラーを扱うことができる
・任意のタイミングで検査を実行することができる

これらを可能にしている。

なお、Binding拡張構文でBindingソース側(通常ViewModel側)からバリデーションエラーを通知するプロパティがあるが、例外を発生させる場合はValidatesOnExceptions、旧IDataErrorInfoを使用している場合はValidatesOnDataErrors、そしてINotifyDataErrorInfoを使用している場合はValidatesOnNotifyDataErrors をtrueに設定するのが正しい。(ValidatesOnNotifyDataErrorsは既定値がtrueなので設定する必要が無い)