ProjectEdit用户控件在组件托盘中包含了一个ErrorProvider控件,这个扩展控件被绑定到窗体上的细节控件相同的数据源,它会自动显示业务对象的任何验证错误信息,即红色的闪烁图标。靠近两个日期字段的错误图标和提示文本来自ErrorProvider控件,当然,它从业务对象本身获取信息——通过在第3章中被BusinessBase实现的IDataErrorInfo接口。现在介绍一下这个IDataErrorInfo接口,定义如下:
using System;
using System.Reflection;
namespace System.ComponentModel
{
// 摘要:
// 提供功能,该功能提供用户界面可以绑定的自定义错误信息。
public interface IDataErrorInfo
{
// 摘要:
// 获取指示对象何处出错的错误信息。
//
// 返回结果:
// 指示对象何处出错的错误信息。默认值为空字符串 ("")。
string Error { get; }
// 摘要:
// 获取具有给定名称的属性的错误信息。
//
// 参数:
// columnName:
// 要获取其错误信息的属性的名称。
//
// 返回结果:
// 该属性的错误信息。默认值为空字符串 ("")。
string this[string columnName] { get; }
}
}
这样明白了吧?业务对象实现了该接口,在资源文件中定义了Error的信息,这样用户直接使用控件绑定该业务对象,与实现ErrorProvider的SetError方法的表现一致。
关于该接口的介绍,还可以参考:http://www.cnblogs.com/tansm/archive/2005/01/11/89972.html