具有相同ViewModel的多个视图

M.A*_*zad 1 wpf mvvm mvvm-light

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

我使用转换UI来显示步骤到我的用户并使用Fluidkit

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

Joe*_*ite 5

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

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

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