다음을 통해 공유


Validation.Errors 연결된 속성

정의

바인딩된 요소에서 모든 활성 ValidationError 개체의 컬렉션을 가져옵니다.

see GetErrors
see GetErrors
see GetErrors

설명

애플리케이션에서 이 컬렉션의 콘텐츠를 수정할 수 없습니다. 이 연결된 속성을 사용하는 방법에 대한 예제는 예제 섹션을 참조하세요.

WPF 데이터 바인딩 모델을 사용하면 개체와 연결할 ValidationRules 수 있습니다 Binding . 유효성 검사는 변환기가 호출되기 전에 대상-바인딩 원본 값 전송을 바인딩하는 동안 발생합니다. 다음은 유효성 검사 프로세스에 대해 설명합니다.

  1. 값이 대상 속성에서 원본 속성으로 전송되는 경우 데이터 바인딩 엔진은 먼저 바인딩된 요소의 연결된 속성에 System.Windows.Controls.Validation.Errors 추가되었을 수 있는 모든 값을 제거합니다ValidationError. 그런 다음, 해당 에 대해 정의된 사용자 지정 ValidationRules가 Binding있는지 확인합니다. 이 경우 둘 중 하나가 오류로 실행되거나 모두 통과될 때까지 각 ValidationRule의 메서드를 호출 Validate 합니다.

  2. 통과 하지 않는 사용자 지정 규칙을 되 면 바인딩 엔진 만듭니다는 ValidationError 개체에 추가 합니다는 System.Windows.Controls.Validation.Errors 바인딩된 요소의 컬렉션입니다. System.Windows.Controls.Validation.Errors가 비어 있지 않으면 요소의 System.Windows.Controls.Validation.HasError 연결된 속성은 true로 설정됩니다. 또한 BindingNotifyOnValidationError 속성이 true로 설정된 경우 바인딩 엔진은 요소에서 System.Windows.Controls.Validation.Error 연결된 이벤트를 발생시킵니다.

  3. 모든 규칙이 통과하면 바인딩 엔진은 변환기를 호출합니다(있는 경우).

  4. 변환기가 통과 하는 경우 바인딩 엔진이 소스 속성의 setter를 호출 합니다.

  5. 바인딩에 연결된 가 ExceptionValidationRule 있고 4단계 중에 예외가 throw되는 경우 바인딩 엔진은 UpdateSourceExceptionFilter가 있는지 확인합니다. UpdateSourceExceptionFilter 콜백을 사용하여 예외를 처리하기 위한 사용자 지정 처리기를 제공하는 옵션이 있습니다. UpdateSourceExceptionFilterBinding에 지정되지 않은 경우 바인딩 엔진은 예외가 있는 ValidationError를 만들고 바인딩된 요소의 System.Windows.Controls.Validation.Errors 컬렉션에 추가합니다.

또한 어느 방향으로든 유효한 값 전송(대상-원본 또는 원본-대상)은 를 Validation지웁니다.Errors연결된 속성입니다.

시나리오에서 이 속성의 동작에 MultiBinding 대한 자세한 내용은 를 참조하세요 ValidationError.

자세한 내용은 데이터 바인딩 개요의 "데이터 유효성 검사"를 참조하세요.

XAML 텍스트 사용

설명 부분을 참조하세요. Errors 컬렉션 자체는 사용자 설정이 불가능하지만 XAML의 컨트롤 템플릿 정의에서 사용할 수 있습니다.

종속성 속성 정보

식별자 필드 ErrorsProperty
메타 데이터 속성 설정 true IsNotDataBindable

적용 대상