Prism 4とWPFを使用してアプリを実行しており、入力の検証がいくつかあり、期待どおりに機能しますが、ユーザーがボタンをクリックすると、その瞬間に検証エラーが発生するかどうかを知る必要があります。
Prism4にはこれを処理するための実装がありますか、それとも手動で実装する必要がありますか?
検証エラーの処理は、Prismがライブラリの一部として提供するものではありません。検証を実装するときに役立つプリズムが提供するのは、特定の場合(たとえば、ページが検証に合格しなかった場合)にナビゲーションを停止できるIConfirmNavigationRequest
インターフェイスです。
アプリケーションに検証を実装するには、IDataErrorInfo
インターフェイス(またはINotifyDataErrorInfo
.NET 4.5 / Silverlight)を使用することをお勧めします。
編集
ビューが検証に合格したかどうかを知るには、IsValid
この情報を返すビューモデルのプロパティを公開する必要があります。これを行う1つの方法は、ビューモデルを調べてこのデータを返すことです。もう1つの方法は、をViewBase
使用してエラーイベントに登録し、ビューモデルで/Validation.AddErrorHandler
を呼び出すことです。このようにして、ビューモデルは検証エラーを認識し、ビューが有効かどうかを簡単に返すことができます。ViewModelBase.AddError()
ViewModelBase.RemoveError()