我想在用户输入数据库表itemMaster时验证datagrid单元格,即Item列。我怀疑哪种方法最适合我验证输入,ValidationRule或IDataErrorInfo?
答案 0 :(得分:0)
这个问题100%重复。你可以自己找到答案。
使用IDataErrorInfo,因为您将能够在ViewModel中验证您的输入,您还可以在需要验证时访问其他值/属性/数据。
此外,您将能够交换ViewModels,因此可以轻松更改无法通过ValidationRules实现的验证。
ViewModel属性的验证应在ViewModel中完成。它集中化,也可测试。它不应该成为View的一部分,除非它出于任何原因。
当您在两个控件属性之间绑定时,应该使用ValidationRules,但在这种情况下,您的验证仍然属于“视图”并保留在MVVM的View部分内。