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
. Также если свойство NotifyOnValidationErrorBinding имеет значениеtrue
, то обработчик привязки вызывает в элементе Validation.Error присоединенное событие.Если все правила пройдены, подсистема привязки вызывает преобразователь, если он существует.
Если преобразователь проходит, подсистема привязки вызывает метод задания исходного свойства.
Если привязка связана ExceptionValidationRule с и на шаге 3 или 4 возникает исключение, подсистема привязки проверяет UpdateSourceExceptionFilterналичие . Вы можете использовать обратный вызов UpdateSourceExceptionFilter, чтобы предоставить пользовательский обработчик для обработки исключений. Если для элемента Binding не указано UpdateSourceExceptionFilter, механизм привязки создает 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) |