wpf - 更新验证错误的数据源
问题描述
我有一个TextBox
绑定到下面的属性。它具有自定义验证的两种方式绑定。如果验证未通过并且出现错误,则绑定不会更新源。即使验证有错误,如何才能更新源?我希望验证更像是一个警告,而不是一个错误。
这是我的简化 xaml:
<TextBox>
<TextBox.Text>
<Binding Path="Value"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validators:TelephoneNumberRule />
<validators:NotOptionalRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
和财产:
public string Value { get; set; }
谢谢。
解决方案
将 a 的ValidationStep
属性设置ValidationRule
为UpdatedValue
将导致它在源属性更新后运行:
<TextBox>
<TextBox.Text>
<Binding Path="Value" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validators:TelephoneNumberRule ValidationStep="UpdatedValue" />
<validators:NotOptionalRule ValidationStep="UpdatedValue" />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>