2012-02-07 8 views
0

정수 값만 허용하는 유효성 검사기가있는 텍스트 상자가 있습니다. 내 텍스트 상자의 텍스트가 텍스트 자체를 확인하지 않고 올바른 정수 값을 나타내는 지 확인하려면 어떻게합니까?텍스트 상자의 값이 올바른지 확인하십시오.

프리즘 MVVM을 사용하고 있으므로 "validator 속성을 viewmodel/model 코드에 바인딩"과 같은 솔루션을 듣고 싶습니다. 그러나 일반적인 WPF 솔루션도 좋습니다.

문제는 모델/viewmodel에서 잘못된 값을 가져올 수 없다는 것입니다. 값이 정확하지 않으면 기본 바인드 된 속성이 설정되지 않습니다.

답변

1

IDataErrorInfo 또는 Data Annotations을 사용할 수 있습니다. Data Annotations Extensions 프로젝트에는 Integer 특성이 포함되어 있습니다.

+0

'IDataErrorInfo'에 +1. 'DataAnnotations'를 사용하더라도, WPF는 WPF와 함께 작동하기 때문에 여전히 IDataErrorInfo를 사용해야합니다. – Rachel

+0

IDataErrorInfo를 어떻게 사용할 수 있는지 알지 못합니다. 모델 또는 뷰 모델에서 잘못된 값을 가져올 수 없으며 올바른 값만 볼 수 있습니다. 현재 값이 올바르지 않으면 viewmodel/model으로 전달되지 않습니다. –

+0

http://stackoverflow.com/questions/9157894/poco-validation-on-textbox-for-integer-datatype/9161603#9161603을 참조하십시오. IValueConverter를 사용하여 뷰 모델이 업데이트되도록 항상 유효한 정수를 반환 할 수 있습니다. – devdigital

관련 문제