다음을 통해 공유


Validation.Errors 연결된 속성

정의

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

see GetErrors
see GetErrors
see GetErrors

설명

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

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

  1. 대상 속성에서 원본 속성으로 값을 전송하는 경우 데이터 바인딩 엔진은 먼저 바인딩된 요소의 연결된 속성에 System.Windows.Controls.Validation.Errors 추가되었을 수 있는 모든 값을 제거합니다ValidationError. 그런 다음, 해당 Binding사용자 지정에 대해 정의된 사용자 지정ValidationRule이 있는지 확인합니다. 이 경우 해당 중 하나가 오류로 실행되거나 모두 통과될 때까지 각 ValidationRules에서 메서드를 호출 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 예외를 처리하기 위한 사용자 지정 처리기를 제공하는 옵션이 있습니다. UpdateSourceExceptionFilter 바인딩 엔진에서 Binding예외를 만들어 ValidationError 바인딩된 요소의 컬렉션에 System.Windows.Controls.Validation.Errors 추가 합니다.

또한 두 방향(대상-원본 또는 원본-대상)의 유효한 값 전송은 .Errors 연결된 속성을 지웁니다Validation.

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

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

XAML 텍스트 사용

비고 섹션을 참고하십시오. Errors 컬렉션 자체는 사용자 설정이 불가능하지만 XAML의 컨트롤 템플릿 정의에서 사용할 수 있습니다.

종속성 속성 정보

Item 가치
식별자 필드 ErrorsProperty
메타데이터 속성이 다음으로 설정됩니다. true IsNotDataBindable

적용 대상