通过


Binding.UpdateSourceExceptionFilter 属性

定义

获取或设置一个处理程序,可用于提供自定义逻辑来处理绑定引擎在更新绑定源值期间遇到的异常。 仅当已关联 ExceptionValidationRule 到绑定时,这才适用。

public:
 property System::Windows::Data::UpdateSourceExceptionFilterCallback ^ UpdateSourceExceptionFilter { System::Windows::Data::UpdateSourceExceptionFilterCallback ^ get(); void set(System::Windows::Data::UpdateSourceExceptionFilterCallback ^ value); };
public System.Windows.Data.UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; }
member this.UpdateSourceExceptionFilter : System.Windows.Data.UpdateSourceExceptionFilterCallback with get, set
Public Property UpdateSourceExceptionFilter As UpdateSourceExceptionFilterCallback

属性值

一种方法,提供用于处理绑定引擎在更新绑定源值期间遇到的异常的自定义逻辑。

示例

下面的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.";
}

UpdateSourceExceptionFilterCallback还可以返回null异常本身或 aValidationError。 有关详细信息,请参阅 UpdateSourceExceptionFilterCallback

有关完整示例,请参阅 绑定验证示例

注解

ExceptionValidationRule这是一个内置验证规则,用于检查在更新绑定源属性期间引发的异常。 如果已与Binding对象关联ExceptionValidationRule,则可以使用此属性设置处理程序,以提供用于处理这些异常的自定义逻辑。 如果未指定Binding绑定UpdateSourceExceptionFilter元素,绑定引擎将创建一个ValidationError异常,并将其添加到Validation.Errors绑定元素的集合中。

适用于