更新:2007 年 11 月
表示一个规则,该规则检查在绑定源属性更新过程中引发的异常。
命名空间:
System.Windows.Controls 程序集:
PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation
Public NotInheritable Class ExceptionValidationRule _
Inherits ValidationRule
Dim instance As ExceptionValidationRule
public sealed class ExceptionValidationRule : ValidationRule
public ref class ExceptionValidationRule sealed : public ValidationRule
public final class ExceptionValidationRule extends ValidationRule
public final class ExceptionValidationRule extends ValidationRule
<ExceptionValidationRule .../>
使用 WPF 数据绑定模型可以将 ValidationRules 与 Binding 对象相关联。ExceptionValidationRule 类是一个内置的规则,它检查在绑定源属性更新过程中引发的异常。使用 UpdateSourceExceptionFilterCallback 可以提供自定义逻辑,以指定绑定引擎如何处理这些异常。有关更多信息,请参见 UpdateSourceExceptionFilter。
用于显式设置 ExceptionValidationRule 的另一种语法是将 Binding 或 MultiBinding 对象上的 ValidatesOnExceptions 属性设置为 true。
通过创建一个从 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,以指定当出现验证错误时如何通知用户。
有关数据验证的更多信息,请参见数据绑定概述。
有关完整的示例,请参见数据绑定演示。
System..::.Object
System.Windows.Controls..::.ValidationRule
System.Windows.Controls..::.ExceptionValidationRule
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5、3.0
参考
其他资源