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 컬렉션에 추가됩니다. |
예제
합니다 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) |
지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다. |