我仍然在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>
问题是,当窗口首次加载时,文本框中没有文本(正如您所预期的那样)。但是,文本属性已绑定到 ViewModel 上的一个属性,因此验证规则正在触发,表明窗口存在问题 - 即使用户还没有违反任何业务规则也是如此。这是以前解决过的问题吗?我肯定不是第一个遇到这个问题的人。我相信这对年轻的程序员来说是一个陷阱。