プロパティにMinCartValueとMaxCartValueの2つのコントロールがバインドされています。 MinCartValueはMaxCartValueより小さくなければなりません。この検証を行うために、私はIDataErrorInfoインターフェイスを実装し、MinCartValueまたはMaxCartValueのいずれかを押した場合、この[columnName]メソッドで上記のチェックを実行します。 ValidatesOnDataErrors = Trueが両方のコントロールのバインドで設定されます。 検証は正しく機能し、プロパティ値の変更がルールに違反したときに各コントロールを強調表示します。問題は、コントロールが無効であるとフラグが設定されると、ユーザーが他のコントロールの値を変更して問題を修正すると、最初のコントロールは無効としてフラグが付けられたままになります。これは、IDataErrorInfoメソッドが最初のコントロールのプロパティで検証を行っていないために理解できます。S/L 4&IDataErrorInfo - コントロールの再検証を強制する方法(関連するコントロールに触れたとき)
私が必要とするのは、プロパティ#2の検証時にプロパティ#1の再検証(または無効な状態をクリアする)を強制する方法です。逆も同様です。私はこの[columnName]メソッド内でRaisePropertyChangedを呼び出そうとしましたが、何もしません。また、それ自体を検証するためにそれを騙そうとするためにプロパティを独自の値に設定しようとしましたが、何も起こりません。
おかげ
OKこれを見ていきます。 – Laurence
なぜWPFでは 'INotifyDataErrorInfo'がなぜですか?そのような便利なインターフェイス! –