也许我没有ValidationRule
正确使用,如果是这样,请告诉我正确的方法。
目前,我已经实现了一个WarningForUncheckRule
继承自的类ValidationRule
,并将其绑定到一个绑定。
<cc:StarCheckBox>
<cc:StarCheckBox.IsChecked>
<Binding>
<Binding.Path>IsFavorate</Binding.Path>
<Binding.ValidationRules>
<vm:WarningForUncheckRule />
</Binding.ValidationRules>
<Binding.Mode>TwoWay</Binding.Mode>
</Binding>
</cc:StarCheckBox.IsChecked>
</cc:StarCheckBox>
我实现代码并false
作为结果返回(此处用于测试目的):
public class WarningForUncheckRule : ValidationRule
{
public override ValidationResult Validate(object value,
CultureInfo cultureInfo)
{
return new ValidationResult(false, null);
}
}
我的问题是,如果我返回false
这里,只有错误 UI 显示错误消息,但 UI 状态仍然更改。
是否可以使用false
ValidateResult 来防止 UI 被更新?
如果没有,是否有其他方法可以绑定来完成此操作?