【发布时间】:2023-04-10 03:16:01
【问题描述】:
当用户输入数据库表 itemMaster 时,我想验证数据网格单元格,即 Item 列。我怀疑哪种方法最适合我验证输入,ValidationRule 或 IDataErrorInfo?
【问题讨论】:
标签: wpf validation datagrid
当用户输入数据库表 itemMaster 时,我想验证数据网格单元格,即 Item 列。我怀疑哪种方法最适合我验证输入,ValidationRule 或 IDataErrorInfo?
【问题讨论】:
标签: wpf validation datagrid
此问题 100% 重复。你本可以自己找到答案的。
使用 IDataErrorInfo,因为这样您就可以在 ViewModel 中验证您的输入,如果需要,您还可以在其中访问其他值/属性/数据以进行验证。
此外,您将能够交换 ViewModel,从而更改使用 ValidationRules 无法轻松实现的验证。
ViewModel 属性的验证应在 ViewModel 中完成。它是集中式的并且也是可测试的。它不应该成为 View 的一部分,除非出于某种原因它必须这样做。
当您在两个控件属性之间进行绑定时,您应该使用 ValidationRules,但在这种情况下,您的验证无论如何都属于“视图”并保留在 MVVM 的视图部分中。
【讨论】: