2012-05-21 2 views
1

MVVM IDataErrorInfo에서 유효성 검사에 사용됩니다. 이 시간에 인덱서 검사 값을 얻을 수 없습니다. 그리고 그것을 부른 후에 나는 그것이 얻을 수없는 가치를 확인하는 방법을 말합니다. 코드는 여기에 있습니다. 열 이름에 전달 된 값은 무엇입니까?Idataerrorinfo에서 인덱서가 호출되는 방법은 무엇입니까?

public string this[string columnName] 
{ 
    get { return GetValidationError(columnName); } 
} 

이유에 대한 검증을 위해 인덱서를 사용하십시오.

답변

1

IDataErrorInfo 인터페이스를 사용하는 경우 인터페이스를 구현하는 클래스의 유효성을 검사합니다.

이름이 속성 인 경우 유효성 검사를 활성화하고 속성을 변경하면 문자열 columnName = "Name"을 사용하여 인덱서가 호출됩니다. 지금 당신은 당신이 결합하여 속성을 변경하는 경우 문

if(columnName == "Name") 
    // do Name validation 

// 편집

검증이 WPF에서 발사되는 경우에 "이름"검증을 처리 할 수 ​​있습니다. 여기

Text="{Binding UpdateSourceTrigger=LostFocus, Path=FirstName, ValidatesOnDataErrors=true, NotifyOnValidationError=true}" 

는 WPF의 데이터 바인딩과 errortemplate를 사용하여 IDataErrorInfo 구현의 좋은 간단한 설명입니다 : 당신은 당신이 같은 바인딩을 장식한다.

WPF: Validation made easy with IDataErrorInfo

+0

내가 공공 INT ID가있는 경우 {얻을; 세트; } public string Name {get; 세트; } 공개 decimal OpeningBalance {get; 세트; } etc 속성을 사용하면 유효성 검사를 시작할 수 있습니다. – prjndhi

+0

이 클래스는 idataerrorinfo를 구현하고 있습니다. – prjndhi

+0

xaml 코드에 따라 public string Error { get {return null; } } 이것은 화재 일 수 있습니다 ????? 사실입니까? – prjndhi

관련 문제