【问题标题】:Multiple Views that have same ViewModel具有相同 ViewModel 的多个视图
【发布时间】:2023-03-11 02:56:02
【问题描述】:

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

我使用 from 转换 UI 向我的用户显示步骤,并使用 from Fluidkit

对于任何步骤,我都有一个用户控件...如何将我的用户控件绑定到一个 ViewModel?

【问题讨论】:

    标签: wpf mvvm mvvm-light


    【解决方案1】:

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

    但是,您也可以将数据保存在模型对象中,并让您的 ViewModel 成为其顶部的薄包装器。因此,例如,您可以拥有一个 Person 对象,并拥有一个 PersonWizardStepOneViewModel,其属性可以从 Person 读取值并将值写回 Person(添加任何适当的视图模型逻辑,例如,基于其他选择启用/禁用按钮)等),PersonWizardStepTwoViewModel 等,并传递 Person 而不是共享相同的 ViewModel。

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

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2014-03-21
      • 2020-01-14
      • 2019-01-03
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多