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

Определение

Происходит, когда элемент привязки обнаруживает ошибку проверки, но только для привязок со свойством NotifyOnValidationError, имеющим значение true.Occurs when the bound element runs into a validation error, but only for bindings with the NotifyOnValidationError value set to true.

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

Комментарии

Модель привязки ValidationRules данных позволяет связать с Binding объектом. WPFWPFThe WPFWPF data binding model enables you to associate ValidationRules with your Binding object. Проверка происходит во время перенаправления значения источника привязки к привязке перед вызовом преобразователя.Validation occurs during binding target-to-binding source value transfer before the converter is called. Ниже описан процесс проверки.The following describes the validation process:

  1. Когда значение передается из целевого свойства в свойство Source, обработчик привязки данных сначала удаляет все ValidationError , что может быть добавлено Validation.Errors к присоединенному свойству связанного элемента.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that may have been added to the Validation.Errors attached property of the bound element. Затем он проверяет, определены ли для этого ValidationRule Bindingпользовательские методы. в этом случае он вызывает Validate метод для каждого из объектов ValidationRule, пока один из них не выполнит ошибку или пока не пройдет все из них.It then checks if there are any custom ValidationRules defined for that Binding, in which case it calls the Validate method on each of the ValidationRules until one of them runs into an error or until all of them pass.

  2. Когда пользовательское правило не проходит, подсистема привязки создает ValidationError объект и добавляет его Validation.Errors в коллекцию связанного элемента.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the Validation.Errors collection of the bound element. Если Validation.Errors параметр не пуст Validation.HasError , присоединенное свойство элемента устанавливается в trueзначение.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. Кроме того, если NotifyOnValidationError свойство Binding объекта имеет значение true, подсистема привязки вызывает Validation.Error событие, присоединенное к элементу.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the Validation.Error attached event on the element.

  3. Если все правила пройдены, механизм привязки вызывает преобразователь, если он существует.If all of the rules pass, the binding engine then calls the converter, if one exists.

  4. Если преобразователь проходит, обработчик привязки вызывает метод задания свойства Source.If the converter passes, the binding engine calls the setter of the source property.

  5. Если привязка имеет ExceptionValidationRule связанную с ней и на шаге 4 возникает исключение, подсистема привязки проверяет наличие объекта UpdateSourceExceptionFilter.If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 4, the binding engine checks to see if there is a UpdateSourceExceptionFilter. Можно использовать UpdateSourceExceptionFilter обратный вызов для предоставления пользовательского обработчика для обработки исключений.You have the option to use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Если параметр не указан Bindingв, подсистема привязки создает ValidationError исключение и добавляет его в Validation.Errors коллекцию связанного элемента. UpdateSourceExceptionFilterIf an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Кроме того, обратите внимание, что допустимое перемещение значения в любом направлении (от типа " Validationодин к исходному" или "источник-назначение") очищает.Errors присоединенное свойство.Also note that a valid value transfer in either direction (target-to-source or source-to-target) clears the Validation.Errorsattached property.

Дополнительные сведения см. в разделе "Проверка данных" раздела Общие сведения о привязке данных.For more information, see "Data Validation" in Data Binding Overview.

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

Поле идентификатораIdentifier field ErrorEvent
Стратегия маршрутизацииRouting strategy Восходящей маршрутизацииBubbling
делегатDelegate EventHandler<TEventArgs>, ограниченоValidationErrorEventArgsEventHandler<TEventArgs>, constrained by ValidationErrorEventArgs

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