1

也许我没有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 状态仍然更改

是否可以使用falseValidateResult 来防止 UI 被更新

如果没有,是否有其他方法可以绑定来完成此操作?

4

1 回答 1

0

验证后视图模型上的调用属性已更改,它应将旧值返回到编辑前的 UI。

于 2013-02-13T14:35:09.887 回答