具有相同ViewModel的多个视图

时间:2011-08-10 12:15:03

标签: wpf mvvm mvvm-light

在我的应用程序业务中,我有3个步骤来定义一个人......在每一步中,我都会得到一些信息...... 例如,我在步骤1中获取名字和姓氏,在步骤2中获取persontype并获取其他信息 在第3步......

我使用从转换用户界面显示步骤到我的用户并使用Fluidkit

对于我有usercontrol的任何步骤...如何将我的usercontrol绑定到一个ViewModel?

1 个答案:

答案 0 :(得分:5)

您的问题不是很清楚,但是,您当然可以将同一个ViewModel实例用于多个不同的视图。

但是,您也可以将数据保存在模型对象中,并将ViewModel放在其上面。例如,您可以拥有一个Person对象,并拥有一个PersonWizardStepOneViewModel,其属性可以从Person读取值并将值写回Person(添加任何适当的viewmodel逻辑,例如根据其他选择启用/禁用按钮)已经制作了一个PersonWizardStepTwoViewModel等,并传递了Person而不是共享相同的ViewModel。

由你决定采用哪种方式。如果逻辑没有变得太复杂并且viewmodel类不会变得太大,那么使用单个ViewModel实例可能就好了。如果视图模型开始变得太大而无法舒适地工作,请将其拆分。