2011-09-01 3 views
0

의 코드에 의해 ValidationError를 설정 난 내 뷰 모델이 사용 방법 Set a ValidationError by Code, by Christian Mosers는 뷰 모델

ValidationError validationError = new ValidationError(regexValidationRule, 
    textBox.GetBindingExpression(TextBox.TextProperty)); 

validationError.ErrorContent = "This is not a valid e-mail address"; 

Validation.MarkInvalid(textBox.GetBindingExpression(TextBox.TextProperty), 
    validationError); 

우연히 만났다?

답변

3

예를 들어 IDataErrorInfo을 구현하거나 setters에서 예외를 throw하여 (이 경우 바인딩은 validate on exception이어야 함) VM에서 오류를 가져 오는 다른 방법이 있습니다.

+0

감사합니다. +1을 입력하면 IDataErrorInfo (내 질문에 언급 했어야 함)를 알았습니다. 크리스티나 모저 (Christina Mosers)의 기술 사용법을 보여주는 의견이나 코드를 제공 할 수 있습니까? – VoodooChild

+0

@VoodooChild : 내가 아는 한 VM의 UI 요소에 대한 참조가 없어야하며, 언급 된 접근 방식을 사용하려면 데이터를 표시하는 UI 요소에 대한 참조가 필요합니다. 그게 내가이 패턴에 적합하다고 생각하지 않는 경우입니다. –