【问题标题】:IDataErrorInfo in winformswinforms中的IDataErrorInfo
【发布时间】:2010-11-26 23:19:27
【问题描述】:

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"));

【问题讨论】:

    标签: c# winforms idataerrorinfo


    【解决方案1】:

    这适用于 Windows 窗体中的 ErrorProvider 组件。

    如需完整但非常简单且简短的教程,请参阅this blog post

    【讨论】:

    • +1 精彩博文。治愈了我目前所有的烦恼。非常感谢。
    • 看起来精彩博客文章的链接已损坏:使此链接仅回答已过时。
    • @Bjørn-RogerKringsjå 这实际上不是仅链接的答案。关于ErrorProvider 的建议使这是一个没有链接的答案。
    【解决方案2】:

    是的,IDataErrorInfo 在 winforms 中工作。例如,DataGridView 将自动在每行和每单元格中使用它。但它是特定于实现的,并且不会自动应用于其他绑定。我曾经写过一些代码将它与错误提供程序相关联,并通过更改事件完成工作,但不幸的是我没有手头。但我似乎记得它并不大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多