ExceptionValidationRule Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет правило для поиска исключений, возникающих во время обновления свойства источника привязки.
public ref class ExceptionValidationRule sealed : System::Windows::Controls::ValidationRule
public sealed class ExceptionValidationRule : System.Windows.Controls.ValidationRule
type ExceptionValidationRule = class
inherit ValidationRule
Public NotInheritable Class ExceptionValidationRule
Inherits ValidationRule
- Наследование
Примеры
Свойство ValidationRules принимает коллекцию ValidationRule объектов . В следующем примере используется TextBox.Text в качестве целевого свойства привязки и StartPrice
(целое число) в качестве свойства источника привязки. Когда пользователь вводит значение, которое не может быть преобразовано в целое число, возникает исключение, в ExceptionValidationRule результате которого целевое значение становится недействительным.
<TextBox Name="StartPriceEntryForm" Grid.Row="2" Grid.Column="1"
Style="{StaticResource textStyleTextBox}" Margin="8,5,0,5">
<TextBox.Text>
<Binding Path="StartPrice" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ExceptionValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
По умолчанию при возникновении ошибки TextBox проверки отображается с красной границей. При необходимости можно написать пользовательский ErrorTemplate , чтобы указать способ уведомления пользователя при возникновении ошибки проверки.
Дополнительные сведения о проверке данных см. в статье Общие сведения о привязке данных.
Полный пример см. в разделе Демонстрация привязки данных.
Комментарии
Модель привязки данных WPF позволяет связать ValidationRules с Binding объектом . Класс ExceptionValidationRule является встроенным правилом, которое проверяет наличие исключений, возникающих при обновлении свойства источника привязки. Вы можете предоставить пользовательскую логику, чтобы указать, как обработчик привязок обрабатывает эти исключения с помощью UpdateSourceExceptionFilterCallback. Для получения дополнительной информации см. UpdateSourceExceptionFilter.
Альтернативным синтаксисом для явной установки свойства ExceptionValidationRule является установка свойства ValidatesOnExceptions в true
для вашего объекта Binding или MultiBinding.
Вы можете создать пользовательское правило, создав класс, производный от ValidationRule. Дополнительные сведения и подробное обсуждение проверки данных см. в статье Общие сведения о привязке данных.
Конструкторы
ExceptionValidationRule() |
Инициализирует новый экземпляр класса ExceptionValidationRule. |
Свойства
ValidatesOnTargetUpdated |
Возвращает или задает значение, которое указывает, выполняется ли правило проверки, когда обновляется целевой объект Binding. (Унаследовано от ValidationRule) |
ValidationStep |
Возвращает или задает, когда выполняется правило проверки. (Унаследовано от ValidationRule) |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Validate(Object, CultureInfo) |
Выполняет проверки по значению. |
Validate(Object, CultureInfo, BindingExpressionBase) |
Выполняет проверки по значению. (Унаследовано от ValidationRule) |
Validate(Object, CultureInfo, BindingGroup) |
Выполняет проверки по значению. (Унаследовано от ValidationRule) |