Поделиться через


Validation.Errors Присоединенное свойство

Определение

Возвращает коллекцию всех активных объектов ValidationError в связанном элементе.

see GetErrors
see GetErrors
see GetErrors

Комментарии

Приложение не может изменить содержимое этой коллекции. Пример использования этого присоединенного свойства см. в разделе Пример.

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

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

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

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

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

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

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

Сведения о поведении этого свойства в сценариях см. в MultiBinding разделе ValidationError.

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

Использование текста XAML

См. заметки. Сама Errors коллекция не настраивается пользователем, но ее можно использовать в определении шаблона элемента управления в XAML.

Сведения о свойстве зависимостей

Поле идентификатора ErrorsProperty
Для свойств метаданных задано значение true IsNotDataBindable

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