检测Silverlight 4中的验证错误

时间:2010-05-15 21:58:13

标签: .net silverlight silverlight-4.0

我正在使用新的Silverlight 4支持IDataErrorInfo。所以我有一个POCO对象已经实现了接口,当验证规则触发Silverlight UI时,正确显示错误。所以一切正常。

POCO对象如下所示:

public class SomeDomainClass : IDataErrorInfo
{
    public string SomeString { get; set; }

    public string Error
    {
        get { return String.Empty; }
    }

    public string this[string columnName]
    {
        get
        {
            if (columnName == "SomeString" && PolicyNumber.Contains("%"))
                return "SomeString cannot contain '%'.  You'll ruin everything!!!";
            return String.Empty;
        }
    }
}

但是,我希望能够检测页面上是否有任何错误。例如,如果我有一个“保存”按钮,并且我想在出现错误时禁用它,或者显示消息或其他内容。

检测页面上是否存在验证错误的最佳方法是什么?是否有基于Silverlight中IDataErrorInfo支持的工具?或者我是否必须自己在域模型中跟踪它?

1 个答案:

答案 0 :(得分:1)

您必须使用BindingValidationError路由事件。 This MSDN文章说明了这一点。