다음을 통해 공유


UpdateSourceExceptionFilterCallback 대리자

정의

바인딩 소스 값을 업데이트하는 동안 발생한 예외를 처리하는 메서드를 나타냅니다. 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

발생한 예외입니다.

반환 값

Object

일반적으로 다음 중 하나인 개체입니다.

설명
null 모든 예외를 무시합니다. 기본 동작(UpdateSourceExceptionFilterCallback이 없는 경우)은 예외가 있는 ValidationError를 만들어 바인딩된 요소의 Errors 컬렉션에 추가하는 것입니다.
모든 개체 ValidationError가 해당 개체로 설정된 ErrorContent 개체를 만듭니다.

ValidationError 개체가 바인딩된 요소의 Errors 컬렉션에 추가됩니다.

ValidationError 개체입니다. BindingExpression 또는 MultiBindingExpression 개체를 BindingInError로 설정합니다. ValidationError 개체가 바인딩된 요소의 Errors 컬렉션에 추가됩니다.

예제

합니다 Text 속성 중 TextBox 소스 속성에 데이터 바인딩된 Age3 형식의 int합니다. ExceptionValidationRule 원본 속성 (예: 사용자가 값을 정수로 변환할 수 없는) 업데이트 하는 동안 throw 된 예외에 대해 검사 합니다.

<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 예외를 처리 하기 위한 사용자 지정 논리를 제공 하도록이 콜백을 설정 하는 속성입니다. 이 콜백은 바인딩 엔진은 바인딩 소스 값을 업데이트 하는 경우 예외가 발생할 때마다 호출 됩니다.

경우는 UpdateSourceExceptionFilter 에 지정 되어 있지는 Binding, 바인딩 엔진에서 만드는 ValidationError 예외를 사용 하 여에 추가 Validation.Errors 바인딩된 요소의 컬렉션입니다.

확장 메서드

GetMethodInfo(Delegate)

지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다.

적용 대상

추가 정보