我正在使用新的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支持的工具?或者我必须自己在域模型中跟踪它?