UpdateSourceExceptionFilterCallback 대리자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바인딩 소스 값을 업데이트하는 동안 throw되는 예외를 처리하는 메서드를 나타냅니다. 이 값은 .와 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 개체 | 또는 MultiBindingExpression 개체를 BindingExpression .로 BindingInError설정하려면 개체가 ValidationError 바인딩된 요소의 컬렉션에 추가 Errors 됩니다. |
예제
다음 TextBox 속성은 Text 형식int인 원본 속성 Age3 에 데이터 바인딩됩니다.
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.";
}
전체 샘플은 바인딩 유효성 검사 샘플을 참조하세요.
설명
개체와 Binding 연결한 ExceptionValidationRule 경우 이 콜백을 설정하여 예외를 처리하기 위한 사용자 지정 논리를 제공하는 속성을 사용할 UpdateSourceExceptionFilter 수 있습니다. 이 콜백은 바인딩 엔진이 바인딩 소스 값을 업데이트할 때 예외가 발생할 때마다 호출됩니다.
UpdateSourceExceptionFilter 바인딩 엔진에서 Binding예외를 만들어 ValidationError 바인딩된 요소의 컬렉션에 Validation.Errors 추가 합니다.
확장명 메서드
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다. |