验证我明白这听起来可能有点类似于一些其他的问题,但我还没有找到一个这相当符合我的查询,所以请与我裸露的需要。我目前正在将其中一个现有的应用程序转换为MVVM模式,以改善其结构,并且对于执行数据验证的最佳方式我有点不解。咨询关于MVVM
目前应用程序使用的数据绑定到UI和代码链接,并且使用一些验证规则并且可以在相似的值(每一个用于日期之一,等等)被重用值转换器。
在阅读MVVM时,我遇到了IDataErrorInfo,我觉得它很有吸引力,因为它会保持验证不在视图中,因此在设置绑定等时略微减少重复代码,并允许更具体的错误消息。如果验证失败,这是我需要的,因为我只想要的模型值来改变一个新的,有效的值提供,从另一方面
ValidationRules块结合的数据传输。
我的主要担忧是,如果我在视图模型中限制太多,这会使视图变得困难 - 在一般情况下将事物限制在舒适的水平,然后补救特定情况是一个好主意在视图中需要更多的灵活性?
所以我的主要问题是,将视图模型的属性进行验证和转换,还是使用我的validationrules和valueconverters(或两者之间的某种折衷方案)更好?
谢谢, 詹姆斯
谢谢,我有类似的想法,但不知道是否是正确的方式去做事情。我认为让视图模型处理所有这些东西是正确的路要走。 – Moonshield 2010-11-25 10:06:12