ValidationError Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет ошибку проверки, которая создается подсистемой привязки, когда ValidationRule сообщает об ошибке проверки или через метод явным MarkInvalid(BindingExpressionBase, ValidationError) образом.
public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
- Наследование
-
ValidationError
Примеры
В следующем примере показан триггер стиля, который создает ToolTip сообщение об ошибке проверки. Присоединенное Validation.Errors свойство возвращает коллекцию ValidationError объектов в связанном элементе.
<Style x:Key="textStyleTextBox" TargetType="TextBox">
<Setter Property="Foreground" Value="#333333" />
<Setter Property="MaxLength" Value="40" />
<Setter Property="Width" Value="392" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
Комментарии
Модель привязки данных WPF позволяет связать правила проверки с Binding объектом. Проверка происходит во время передачи значений типа "целевой — источник" перед вызовом преобразователя. Ниже описан процесс проверки.
При передаче значения из целевого свойства в исходное свойство подсистема привязки данных сначала удаляет все ValidationError , что может быть добавлено в Validation.Errors присоединенное свойство связанного элемента. Затем он проверяет, определены Bindingли для этого пользовательские правила проверки, в этом случае метод вызывается Validate на каждом ValidationRule из них до тех пор, пока один из них не завершается сбоем или пока все из них не будут пройдены.
После того как существует пользовательское правило, которое не проходит, подсистема привязки создает ValidationError объект и добавляет его в Validation.Errors коллекцию привязанного элемента. Если Validation.Errors не пусто, Validation.HasError присоединенное свойство элемента имеет значение
true. Кроме того, если NotifyOnValidationError для свойства заданоtrueзначение, подсистема привязки Binding вызывает Validation.Error присоединенное событие для элемента.Если все правила передаются, подсистема привязки вызывает преобразователь, если он существует.
Если преобразователь проходит, подсистема привязки вызывает метод задания исходного свойства.
Если привязка связана с ней ExceptionValidationRule и исключение создается во время шага 3 или 4, подсистема привязки проверяет UpdateSourceExceptionFilterналичие. Обратный UpdateSourceExceptionFilter вызов можно использовать для предоставления пользовательского обработчика для обработки исключений. UpdateSourceExceptionFilter Если подсистема привязки не указана, Bindingона создает ValidationError исключение и добавляет его в Validation.Errors коллекцию привязанного элемента.
Допустимая передача значений в любом направлении (целевом объекте для источника или источника в целевой) очищает присоединенное Validation.Errors свойство.
Конструкторы
| Имя | Описание |
|---|---|
| ValidationError(ValidationRule, Object, Object, Exception) |
Инициализирует новый экземпляр ValidationError класса с указанными параметрами. |
| ValidationError(ValidationRule, Object) |
Инициализирует новый экземпляр ValidationError класса с указанными параметрами. |
Свойства
| Имя | Описание |
|---|---|
| BindingInError |
BindingExpression Возвращает объект или MultiBindingExpression объект этого ValidationErrorобъекта. Объект помечен как недопустимый явным образом, либо имеет правило проверки с ошибкой. |
| ErrorContent |
Возвращает или задает объект, предоставляющий дополнительный контекст для этого ValidationError, например строку, описывающую ошибку. |
| Exception |
Возвращает или задает Exception объект, который был причиной этого ValidationError, если ошибка является результатом исключения. |
| RuleInError |
Возвращает или задает ValidationRule объект, который был причиной этого ValidationError, если ошибка является результатом правила проверки. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |