저는 잠시 동안 WPF 및 MVVM 패턴을 사용해 왔습니다. 유효성 검사를 "정상적인"방식으로 수행하는 데 어려움을 겪고 있습니다.WPF의 양식 유효성 검사
1) ViewModel에 IDataErrorInfo 인터페이스를 구현하고 있습니다. 여기서 문제는 LostFocus 및하여 PropertyChanged 트리거가 사용 여부, 텍스트 상자가 컨트롤에 사용자가 어느 탭하기 전에 검증이다
<TextBox Grid.Column="1"
Grid.Row="1"
Text="{Binding Path=ProjectKey, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}" />
다음 XAML은 같이 보입니다. 즉, 빈 필드의 유효성을 검사하는 경우 양식을 처음 열 때 사용자가 전체적으로 많은 양의 빨간색을 보게됩니다. 이상적으로 입력은 첫 번째 "포커스 손실"또는 "속성 변경"이후 또는 "제출"버튼을 클릭 한 후에 만 유효성이 검사됩니다.
2) 다른 문제는 사용자가 "제출"을 클릭 할 때 최종 확인입니다. 중복과 같이 데이터베이스에 제출하기 전에 유효성을 검증하려는 것이 있습니다. UpdateSourceTrigger = Explicit를 사용하고 모든 컨트롤에서 UpdateSource 메서드를 호출 할 수 있다는 것을 알고 있습니다. MVVM 패턴 내에서이를 수행 할 적절한 방법이 있는지 궁금합니다. ViewModel에 표시되는 코드는 매우 다양합니다 ...
어떤 아이디어라도 좋을 것입니다. 내가 번호를 하나의 뷰 모델에 대한 당신의 속성은 생성자
public double Property1 {get; set;}
public ViewModel()
{
Property1 = 0;
}
손 전에 값으로 초기화한다 들어 ...
http://stackoverflow.com/questions/2821998/how-can-i-get-wpf-to-not-display-validation-errors-upon-initial-display-of-contro/2829884#2829884 해결할 수 있습니다. 두 문제 모두 – nash