シングルフィールド検証で検証がうまく動作するwpfフォームがあります。 DataAnnotationsクラスをIDataErrorInfoクラスに接続して、正しく表示するようにしました。WPF検証では、他の相互接続されたui要素をトリガーして検証ステータスを再確認する方法
ここでは、より複雑な検証を含むより複雑なフォームがあります。ビューモデルでIValidatableObjectを実装しましたが、これが呼び出されています。フィールドが変わるたびに手動でValidator.TryValidateObjectを呼び出すと、IDataErrorInfoクラスが正しくエラーを返すことがわかります。
私の問題は、確認ステータスを再確認するUIを取得する方法がわからないことです。たとえば、Dが特定の値である場合にのみ必要なフィールドA、B、Cがあります。これらのフィールドにはDataAnnotationフラグはありません。私は、IValidatableObjectのValidate実装のエラーリストを返します。
Dを編集するときに、A、B、またはCにエラーは表示されません。Aに何かを入れて戻したら、Aにエラーが表示されます。しかし、私はすべてのフィールドが自動的にそれをやりたい。これを行う通常の方法はありますか?特にViewModelからトリガーする方法はありますか?
私は実際に最後のことをしました - 彼らはEFオブジェクトではなく、思ったよりもずっと簡単でした – Clyde