Validation.Error 연결된 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
NotifyOnValidationError 값이 true
로 설정된 바인딩에 대해서만 바인딩된 요소가 유효성 검사 오류를 만나는 경우에 발생합니다.
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
설명
WPF 데이터 바인딩 모델을 사용하면 개체와 연결할 ValidationRules 수 있습니다 Binding . 유효성 검사는 변환기가 호출되기 전에 대상-바인딩 원본 값 전송을 바인딩하는 동안 발생합니다. 다음은 유효성 검사 프로세스에 대해 설명합니다.
값이 대상 속성에서 원본 속성으로 전송되는 경우 데이터 바인딩 엔진은 먼저 바인딩된 요소의 연결된 속성에 Validation.Errors 추가되었을 수 있는 모든 값을 제거합니다ValidationError. 그런 다음, 해당 Binding에 대해 정의된 사용자 지정 ValidationRule가 있는지 확인합니다. 이 경우 둘 중 하나가 오류로 실행되거나 모두 통과될 때까지 각 ValidationRule의 메서드를 호출 Validate 합니다.
통과 하지 않는 사용자 지정 규칙을 되 면 바인딩 엔진 만듭니다는 ValidationError 개체에 추가 합니다는 Validation.Errors 바인딩된 요소의 컬렉션입니다. Validation.Errors가 비어 있지 않으면 요소의 Validation.HasError 연결된 속성은
true
로 설정됩니다. 또한 Binding의 NotifyOnValidationError 속성이true
로 설정된 경우 바인딩 엔진은 요소에서 Validation.Error 연결된 이벤트를 발생시킵니다.모든 규칙이 통과하면 바인딩 엔진은 변환기를 호출합니다(있는 경우).
변환기가 통과 하는 경우 바인딩 엔진이 소스 속성의 setter를 호출 합니다.
바인딩에 연결된 이 ExceptionValidationRule 있고 4단계 중에 예외가 throw되면 바인딩 엔진은 UpdateSourceExceptionFilter가 있는지 확인합니다. UpdateSourceExceptionFilter 콜백을 사용하여 예외를 처리하기 위한 사용자 지정 처리기를 제공하는 옵션이 있습니다. UpdateSourceExceptionFilter가 Binding에 지정되지 않은 경우 바인딩 엔진은 예외가 있는 ValidationError를 만들고 바인딩된 요소의 Validation.Errors 컬렉션에 추가합니다.
또한 어느 방향으로든 유효한 값 전송(대상-원본 또는 원본-대상)은 을 Validation지웁니다.Errors연결된 속성입니다.
자세한 내용은 데이터 바인딩 개요의 "데이터 유효성 검사"를 참조하세요.
라우팅 이벤트 정보
식별자 필드 | ErrorEvent |
라우팅 전략 | 버블링 |
대리자 | EventHandler<TEventArgs>, 에 의해 제한됨 ValidationErrorEventArgs |
적용 대상
.NET