WPFアプリにいくつかの検証を設定したテキストボックスがいくつかあります。
ロード時に、アプリはWPFウィンドウのコントロールがバインドされているクラスを逆シリアル化します。
たとえば、ファイルが存在することをテストするValidationRuleがあります。ValidatesOnTargetUpdatedを設定しない場合、(バインドされた)テキストプロパティを変更すると、対応するTextBoxが検証され、(デフォルトの)赤い境界線が表示され、ツールチップ({Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}
)にエラーメッセージが表示されます。
コントロールがpropertychangedではなくバインディングで検証するようにしたいので、ValidatesOnTargetUpdatedをtrueに設定し、デバッグ時にvalidationRuleが起動することを確認できます。
ValidatesOnTargetUpdated="True"
私の問題は、ValidationRuleが起動しているにもかかわらず、(デフォルトの)ValidationTemplateが無視されることです。
ツールチップが表示されます。正しいエラーメッセージが表示されますが、境界線が赤で表示されません。これは無視されているようです。
なぜこれが起こるのか、何か考えはありますか?