Binding.UpdateSourceExceptionFilter Свойство

Определение

Получает или задает обработчик, который можно использовать для предоставления пользовательской логики для обработки исключений, которые механизм привязки находит при обновлении значения источника привязки.Gets or sets a handler you can use to provide custom logic for handling exceptions that the binding engine encounters during the update of the binding source value. Это применимо, только если имеется правило ExceptionValidationRule, связанное с привязкой.This is only applicable if you have associated an ExceptionValidationRule with your binding.

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

Значение свойства

Метод, предоставляющий пользовательскую логику для обработки исключений, которые механизм привязки находит при обновлении значения источника привязки.A method that provides custom logic for handling exceptions that the binding engine encounters during the update of the binding source value.

Примеры

Свойство Text следующего TextBox привязано к данным свойства источника, Age3 которого имеет тип int.The Text property of the following TextBox is data-bound to a source property Age3 that is of type int. ExceptionValidationRule проверяет наличие исключений, возникающих во время обновления свойства источника (например, когда пользователь вводит значение, которое не может быть преобразовано в целое число).The ExceptionValidationRule checks for exceptions that are thrown during the update of the source property (such as when the user enters a value that cannot be converted to an integer).

<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>

Для обработки этих исключений можно указать пользовательскую логику.You can provide custom logic to handle those exceptions. В следующем примере показано, как использовать свойство UpdateSourceExceptionFilter для задания UpdateSourceExceptionFilterCallback.The following example shows how to use the UpdateSourceExceptionFilter property to set an UpdateSourceExceptionFilterCallback.


BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();

Ниже приведен пример реализации UpdateSourceExceptionFilterCallback.The following is an example implementation of an UpdateSourceExceptionFilterCallback.

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    return "This is from the UpdateSourceExceptionFilterCallBack.";
}

UpdateSourceExceptionFilterCallback также может возвращать null, само исключение или ValidationError.The UpdateSourceExceptionFilterCallback can also return null, the exception itself, or a ValidationError. Для получения дополнительной информации см. UpdateSourceExceptionFilterCallback.For more information, see UpdateSourceExceptionFilterCallback.

Полный пример см. в разделе Пример проверки привязки.For the complete sample, see Binding Validation Sample.

Комментарии

ExceptionValidationRule — это встроенное правило проверки, которое проверяет исключения, возникающие во время обновления свойства источника привязки.The ExceptionValidationRule is a built-in validation rule that checks for exceptions thrown during the update of the binding source property. Если вы привязываете ExceptionValidationRule к объекту Binding, можно использовать это свойство, чтобы задать для обработчика настраиваемую логику для обработки этих исключений.If you have associated the ExceptionValidationRule with your Binding object, you can use this property to set a handler to provide custom logic for handling these exceptions. Если на Bindingне указан UpdateSourceExceptionFilter, подсистема привязки создает ValidationError с исключением и добавляет его в коллекцию Validation.Errors связанного элемента.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Применяется к