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

속성 값

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 원본 속성 (예: 사용자가 값을 정수로 변환할 수 없는) 업데이트 하는 동안 throw 된 예외에 대해 검사 합니다.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 바인딩 소스 속성을 업데이트 하는 동안 throw 된 예외를 확인 하는 기본 제공 유효성 검사 규칙입니다.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. 경우는 UpdateSourceExceptionFilter 에 지정 되어 있지는 Binding, 바인딩 엔진에서 만드는 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.

적용 대상