假设我有一个名为Customer
的类。现在我需要呈现客户。所以我创建了CustomerViewModel
用于绑定。我正在寻找创建CustomerViewModel
课程的最佳途径。以下是我对创建它的想法。在MVVM中创建ViewModel的最佳方法
1 - 在视图模型上再次创建客户中的所有属性。将客户实例注入视图模型,并且每个属性都会重新映射此客户对象的值。这种方法的好处是我可以为所有的视图模型创建一个通用的基类,并且在那里有共同的功能。缺点将是在视图模型上再次创建所有属性并进行维护所需的时间。
2 - 从客户派生视图模型。所以我拥有所有视图模型中的客户的功能。但是这不会允许我使用一个通用的基类,并将常见的视图模型逻辑放在那里。
所以我想知道什么是最好的方法来创建视图模型?有没有比我想象的更好的替代方法?
需要多长时间才能在ViewModel中重复模型属性?能够放入一些转换器或触发器用于显示目的,这使得我值得额外的分钟。如果您有许多控件的复杂视图,请将模型作为视图模型中的属性添加,并在视图中绑定到Model.Property。 – adrianm 2009-12-22 07:20:57
我会避开#2。我不认为你总是会找到一个明确的模型类和ViewModel之间的映射。为了可维护性,我将与其他一些可能在逻辑上位于Custom模型前面的类一起使用,但也可能将其他模型类型在将来展示给视图。 – 2009-12-28 17:29:26