Я только что взбил одну, немного повозился, но она работает в моем тестовом приложении WPF (с использованием .Net 4.0). Я действительно хотел что-то подобное для приложения, над которым я работаю, поэтому ваш вопрос был удобным предлогом для его создания. =) * * Тысяча одна
Этот код использует присоединенное свойство Validation.ErrorTemplate
для создания ControlTemplate
, который устанавливает красную границу для контура проверенного элемента управления, а затем Popup
, который содержит сообщение об ошибке для элемента управления. Мне пришлось получить сообщение об ошибке из свойства ToolTip
проверенного элемента управления, потому что TextBox
внутри шаблона, похоже, не имел доступа к самому классу Validation
.
Всплывающее сообщение об ошибке закрывается, когда проверенный элемент управления теряет фокус, и появляется снова (если есть ошибка), когда снова получает фокус.
Вот скриншот:
Вот суть кода: https://gist.github.com/1672789
Я открыт для любых комментариев или улучшений, которые кто-либо может предложить.