在winforms中的IDataErrorInfo
IDataError信息可以在winforms应用程序中正确使用吗? 在过去,我以通常的方式(1)进行绑定,并在特定控件的OnValidating事件中进行验证。 我想将数据验证移动到域模型,以便我可以轻松地交换用户界面,并使所有逻辑都在同一个位置。
我正在研究IDataErrorInfo,但是我发现与WPF和开发中的应用程序有关的所有内容完全是Winforms应用程序。
我也注意到,在WPF中使用的绑定是在System.Windows.Data和我一直使用的绑定是在System.Windows.Forms(我似乎没有,当我尝试添加它作为资源 - 我正在使用3.5)。从属性“ValidatesOnDataErrors”旁边有两个区别吗?
(1)通常的方式是:
myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
这适用于Windows窗体中的ErrorProvider组件。
有关完整但非常简单且简短的教程,请参阅此博客文章。
是的, IDataErrorInfo
以winforms工作。 例如, DataGridView
将自动使用这个每行和每个单元格。 但它是特定于实现的,并不会自动应用于其他绑定。 我曾经写过一些代码将它关联到一个错误提供者,并通过更改事件来完成这项工作,但我不幸的是, 但我似乎记得它并不庞大。