2012-09-13 4 views
5

클래스가 IDataErrorInfo 인터페이스를 구현하고이 클래스가 양식에 대한 바인딩의 일부인 경우 바인딩과 관련된 유효성 검사를 일시적으로 사용하지 않도록 설정하는 방법이 있습니까?(일시적) WPF에서 유효성 검사 사용 안 함

예를 들어 클래스의 속성에서 빈 문자열을 허용하지 않으려는 경우 양식이 열리면 바인딩 된 컨트롤에 오류가있는 것으로 플래그가 지정됩니다 (기본값은 빨간색 테두리). 나는 (사용자가 뭔가를 입력 할 기회조차 있기 전에) 오류가있는 것으로 즉시 입력에 플래그를 지정하는 것이 다소 힘들다고 생각한다. 이 문제를 해결할 방법이 있습니까?

나는 대부분의 오후를 검색했으나 모든 입력이 유효 할 때까지 버튼을 전송할 수 없도록 설정하는 방법이 나와 있습니다.

답변

3

유효성 검사가 완료 될 때를 제어하는 ​​IDataErrorInfo를 구현하는 클래스에 플래그를 지정합니다. DoValiation;

플래그가 false이면 IDataErrorInfo가 오류가 없음을보고합니다 (예 : null 반환).

뷰 초기화 중에 모델에서 DoValidation 플래그를 false로 설정하면 뷰가 데이터에 대한 모든 바인딩을 수행하게합니다.

보기가 "로드 됨"후에 DoValidation 플래그를 true로 설정하면 .... 그 시점에서 데이터를 변경하면 값이 여전히 유효하지 않은 경우 오류 표시기가 나타납니다.

:

는 IDataErrorInfo 코드를 구성하는 방법에 대한 자세한 내용이 다른 게시물을 참조
관련 문제