UpdateSourceExceptionFilterCallback 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示处理绑定源值更新过程中引发的异常的方法。 它必须与 ExceptionValidationRule 一起使用。
public delegate System::Object ^ UpdateSourceExceptionFilterCallback(System::Object ^ bindExpression, Exception ^ exception);
public delegate object UpdateSourceExceptionFilterCallback(object bindExpression, Exception exception);
type UpdateSourceExceptionFilterCallback = delegate of obj * Exception -> obj
Public Delegate Function UpdateSourceExceptionFilterCallback(bindExpression As Object, exception As Exception) As Object
参数
- bindExpression
- Object
出现异常的对象。
- exception
- Exception
遇到的异常。
返回值
通常为下列某项的对象:
“值” | 描述 |
---|---|
null | 忽略任何异常。 默认行为(如果没有 UpdateSourceExceptionFilterCallback)是对异常创建 ValidationError 并将其添加到绑定元素的 Errors 集合。 |
任何对象 | 创建 ValidationError 对象,并将 ErrorContent 设置为此对象。
将 ValidationError 对象添加到绑定元素的 Errors 集合中。 |
一个 ValidationError 对象 | 将 BindingExpression 或 MultiBindingExpression 对象设置为 BindingInError。 将 ValidationError 对象添加到绑定元素的 Errors 集合中。 |
示例
下面的 TextTextBox 属性的数据绑定到类型int
为 的源属性Age3
。 检查 ExceptionValidationRule 在更新源属性期间引发的异常 (,例如当用户输入无法转换为整数) 的值时。
<TextBox Name="textBox3" Width="50" FontSize="15"
Grid.Row="4" Grid.Column="1" Margin="2"
Validation.ErrorTemplate="{StaticResource validationTemplate}"
Style="{StaticResource textBoxInError}">
<TextBox.Text>
<Binding Path="Age3" Source="{StaticResource ods}"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ExceptionValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
可以选择提供自定义逻辑来处理这些异常。 以下示例演示如何使用 UpdateSourceExceptionFilter 属性设置 UpdateSourceExceptionFilterCallback:
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
下面是 的示例实现 UpdateSourceExceptionFilterCallback:
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
有关完整示例,请参阅 绑定验证示例。
注解
如果已将 关联 ExceptionValidationRule 到 Binding 对象,则可以选择使用 UpdateSourceExceptionFilter 属性设置此回调,以提供用于处理异常的自定义逻辑。 每当绑定引擎更新绑定源值时遇到任何异常时,将调用此回调。
如果未在 Binding 上指定 UpdateSourceExceptionFilter,则绑定引擎会创建具有异常的 ValidationError 并将其添加到绑定元素的 Validation.Errors 集合中。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |