我知道如何在WPF应用程序中使用ValidationRule生成错误消息,通过在ValidationResult为false时在ErrorTemplate标记中定义它。我的问题是,当ValidationResult为真时,有没有办法发出消息?
答案 0 :(得分:0)
你可以在自己的验证规则中做你想做的事
如果你看一下:
https://msdn.microsoft.com/en-us/library/system.windows.controls.validationrule%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
else
{
// show a message box or something
return new ValidationResult(true, null);
}
你可能会发现,如果你做了一些阻止,有一些不必要的副作用,也许你并不只是意味着显示一条消息。
当validationrule决定值失败时,它会停止传递给源的值(viewmodel上的属性)。
因此,您可以在视图模型中从绑定属性的setter中驱动一些处理
您也可以处理sourceupdated并在绑定上设置notifysourceupdated。做一些事情作为一般方法。