Проблема, с которой вы столкнетесь, заключается в том, что привязка и проверка данных WPF связаны с интерфейсом IDataErrorInfo. Привязки проверяются для проверки на основе свойства UpdateSourceTrigger привязки. Таким образом, если ваша привязка имеет «UpdateSourceTrigger = PropertyChanged», то каждый раз, когда свойство изменяется, он вызывает элемент [«MyProperty»], в который вы должны возвращать информацию о том, действительно ли ваше свойство действительно. Если он установлен на «LostFocus», то он проверяет всякий раз, когда элемент управления теряет фокус. Привязка также требует «ValidatesOnDataErrors = True», чтобы она принудительно проверила вашу привязанную сущность.
Я думаю, что вам лучше всего создать класс, который реализует IDataErrorInfo, а затем предоставить более подробную информацию в зависимости от серьезности ошибки.