Я все еще борюсь с проверкой в 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, и как правило, правило проверки запускается, указывая на то, что есть проблема с окном - до того, как пользователь даже имел возможность нарушить бизнес-правило.
Это проблема, которая была решена раньше? Я не мог быть первым, кто испытал это. Я уверен, что это ловушка для молодых игроков.