データ検証とエラー報告
多くの場合、ビューモデルまたはモデルは、データ検証を実行し、ユーザーが修正できるようにビューにデータ検証エラーを通知する必要があります。
SilverlightとWPFは、ビューのコントロールにバインドされている個々のプロパティを変更するときに発生するデータ検証エラーの管理をサポートします。コントロールにデータバインドされている単一のプロパティの場合、ビューモデルまたはモデルは、着信する不正な値を拒否して例外をスローすることにより、プロパティセッター内でデータ検証エラーを通知できます。データバインディングのValidatesOnExceptionsプロパティがtrueの場合、WPFおよびSilverlightのデータバインディングエンジンが例外を処理し、データ検証エラーがあることをユーザーに視覚的に通知します。
ただし、この方法でプロパティを持つ例外をスローすることは、可能な限り回避する必要があります。別のアプローチは、ビューモデルまたはモデルクラスにIDataErrorInfoまたはINotifyDataErrorInfoインターフェイスを実装することです。これらのインターフェイスを使用すると、ビューモデルまたはモデルは、1つ以上のプロパティ値のデータ検証を実行し、ビューにエラーメッセージを返し、ユーザーにエラーを通知できます。