我已经设置了一些验证的 WPF 应用程序中有许多文本框。
加载时,应用程序会反序列化 WPF 窗口控件绑定到的类。
我有一个 ValidationRule (例如)测试文件是否存在。如果我没有设置 ValidatesOnTargetUpdated,那么当我更改(绑定)文本属性时,相应的 TextBox 会验证,我会看到(默认)红色边框出现,并且工具提示 ( {Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}
) 显示错误消息。
我希望控件在绑定而不是在 propertychanged 上进行验证,因此我将 ValidatesOnTargetUpdated 设置为 true,并且可以在调试时看到 validationRule 触发。
我的问题是,ValidatesOnTargetUpdated="True"
尽管 ValidationRule 触发,但(默认)ValidationTemplate 被忽略。
我可以看到工具提示 - 它显示正确的错误消息,但边框不显示为红色;这似乎被忽略了。
任何想法为什么会发生这种情况?