IDataErrorInfo in winforms

懵懂的女人 提交于 2019-11-29 13:55:37

问题


Can IDataError info be used properly in a winforms application? In the past I was doing my binding the usual way(1) and did the validation in the OnValidating event of the particular control. I would like to move the data validation to the domain model so that I can easily swap out user interfaces and so that all of the logic is in one place.

I was looking into IDataErrorInfo but everything I find deals with WPF and the app in development is strictly a winforms app.

I also noticed that the binding that gets used in WPF is in System.Windows.Data and the binding that I've always been using is in System.Windows.Forms (which I don't appear to have when I try to add it as a resource - I'm using 3.5).Aside from the property "ValidatesOnDataErrors" is there a difference between the two?

(1) the usual way being:

myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));

回答1:


This works with the ErrorProvider component in Windows Forms.

For a complete, but very simple and short tutorial, see this blog post.




回答2:


Yes, IDataErrorInfo works in winforms. For example, DataGridView will use this automatically both per-row and per-cell. But it is implementation-specific, and isn't automatically applied to other bindings. I did once write some code to associate it to an error-provider and do the work via change events, but I don't have it to hand unfortunately. But I seem to recall it wasn't huge.



来源:https://stackoverflow.com/questions/1401796/idataerrorinfo-in-winforms

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!