WPF의 유효성 검사와 관련하여 여전히 어려움을 겪고 있습니다.첫 번째로드시 유효성 검사 바인딩
텍스트 입력란에 텍스트를 표시해야하는 맞춤법 검사 규칙이 있습니다. 즉, 필수 입력란 제약 조건을 적용합니다.
<TextBox local:Masking.Mask="^[a-zA-Z0-9]*$" x:Name="CameraIdCodeTextBox" Grid.Row="1" Grid.Column="1">
<Binding Path="CameraIdCode" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" ValidatesOnExceptions="True">
<Binding.ValidationRules>
<localValidation:RequiredFieldRule />
</Binding.ValidationRules>
</Binding>
</TextBox>
문제는 윈도우가 처음로드 될 때 예상대로 TextBox에 텍스트가없는 것입니다. 그러나 Text 속성이 ViewModel의 속성에 바인딩되어 있으므로 유효성 검사 규칙이 실행되어 사용자가 비즈니스 규칙을 위반하는 기회조차 없기 전에 Window에 문제가 있음을 나타냅니다.
이 문제가 이전에 해결 되었습니까? 나는 이것을 경험할 수있는 첫 번째 선수가 될 수 없다. 나는 그것이 젊은 선수들을위한 함정이라고 확신한다.
시도해 볼 수 있습니까? UpdateSourceTrigger = "LostFocus" –
유효성 검사 그룹을 만들 수 있으며 사용자가 먼저 일부 필드를 변경하면 유효성 검사 그룹을 활성화 할 수 있습니다. –
@AngelWPF 나는 그것을 시도했다. 윈도우가로드 될 때 초기 바인딩에서 여전히 유효성을 검사합니다. – onefootswill