Я знаю, как в приложении WPF создать сообщение об ошибке с помощью ValidationRule, определив его в теге ErrorTemplate, когда ValidationResult имеет значение false. Мой вопрос, есть ли способ отправить сообщение, когда ValidationResult истинно?
Вы можете делать все, что хотите, в собственном правиле проверки.
Если вы посмотрите на:
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);
}
Вы вполне можете обнаружить, что есть некоторые нежелательные побочные эффекты, если вы сделаете что-то блокирующее, и, возможно, вы не просто хотите показать сообщение.
Когда правило проверки решает, что значение не соответствует действительности, оно останавливает передачу значения источнику (свойство в модели просмотра) .
Таким образом, вы можете управлять обработкой из установщика связанного свойства в вашей модели просмотра.
В качестве альтернативы вы можете обработать sourceupdated и установить notifysourceupdated в своей привязке. Сделайте что-нибудь с этим как с общим подходом.