Validation.Error Присоединенное событие

Определение

Происходит при возникновении ошибки проверки в связанном элементе, но только для привязок со значением NotifyOnValidationError, равным true.

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

Комментарии

Модель привязки данных WPF позволяет связать ValidationRules с Binding объектом . Проверка выполняется во время передачи исходного значения целевого объекта привязки перед вызовом преобразователя. Ниже описывается процесс проверки.

  1. При передаче значения из целевого свойства в исходное свойство подсистема привязки данных сначала удаляет все ValidationError , что могло быть добавлено во Validation.Errors присоединенное свойство привязанного элемента. Затем он проверяет наличие пользовательских ValidationRuleобъектов , определенных для этого Binding. В этом случае он вызывает Validate метод для каждого из ValidationRuleних, пока один из них не возникнет ошибки или пока все они не будут пройдены.

  2. После того как пользовательское правило не передается, обработчик привязки создает ValidationError объект и добавляет его в коллекцию Validation.Errors привязанного элемента. Если значение Validation.Errors не пустое, то прикрепленное свойство Validation.HasError элемента имеет значение true. Также если свойство NotifyOnValidationErrorBinding имеет значение true, то обработчик привязки вызывает в элементе Validation.Error присоединенное событие.

  3. Если все правила пройдены, подсистема привязки вызывает преобразователь, если он существует.

  4. Если преобразователь проходит, подсистема привязки вызывает метод задания исходного свойства.

  5. Если привязка связана ExceptionValidationRule с и на шаге 4 возникает исключение, подсистема привязки проверяет UpdateSourceExceptionFilterналичие . Вы можете использовать обратный вызов UpdateSourceExceptionFilter, чтобы предоставить пользовательский обработчик для обработки исключений. Если для элемента Binding не указано UpdateSourceExceptionFilter, механизм привязки создает ValidationError с исключением и добавляет его в коллекцию Validation.Errors связанного элемента.

Также обратите внимание, что допустимая передача значений в любом направлении (из целевого объекта в источник или из источника в целевой Validation) очищает .Errorsприсоединенное свойство.

Дополнительные сведения см. в разделе "Проверка данных" статьи Общие сведения о привязке данных.

Сведения о маршрутизируемом событии

Поле идентификатора ErrorEvent
Стратегия маршрутизации Восходящей
Делегат EventHandler<TEventArgs>, ограничено ValidationErrorEventArgs

Применяется к