跨视图模型 MVVM 保留 Object 状态
Retain Object state across viewmodels MVVM
这听起来可能很基础,但是请原谅我,让我知道可能的解决方案。我在我的应用程序中使用 MVVM 模式,我是它的新手。
我有一个 Parent 视图(比如 'StudentView')及其视图模型(StudentViewmodel)
StudentView 包含两个控件 - Tablinks 和一个 'Save button'
- Tablinks 将有 link 每个视图(如学术、个人等)。这就像有两个窗格的树视图。我在右窗格中加载页面,在左窗格中加载标题。每个视图都有自己的 Viewmodel 和相应的属性
- 允许用户编辑每个视图中绑定到 VM 属性的值。
允许用户浏览每个选项卡并进行更改,这将更新相应 VM 中的属性
现在,当用户点击 'StudentViewModel' 中的保存按钮时,我需要在每个 VM(如学术、个人)中调用 'Save' 方法,并为那些 object 保存更新的属性并推送到我的控制器。
这里的问题很简单。当我调用AcademicViewModel的Save方法时,它会创建一个新的实例,我无法获取通过Tablinks发起的修改后的object。
除了将这些属性设为静态之外,还有其他解决方法吗?
提前致谢。
编辑:
因为,我需要从不同的视图模型调用此 Save 方法。它不是静态方法。它是一个实例方法,因此,我需要一个 object 来调用它。
使用 DI 容器解决了我的问题。
这听起来可能很基础,但是请原谅我,让我知道可能的解决方案。我在我的应用程序中使用 MVVM 模式,我是它的新手。
我有一个 Parent 视图(比如 'StudentView')及其视图模型(StudentViewmodel)
StudentView 包含两个控件 - Tablinks 和一个 'Save button'
- Tablinks 将有 link 每个视图(如学术、个人等)。这就像有两个窗格的树视图。我在右窗格中加载页面,在左窗格中加载标题。每个视图都有自己的 Viewmodel 和相应的属性
- 允许用户编辑每个视图中绑定到 VM 属性的值。
允许用户浏览每个选项卡并进行更改,这将更新相应 VM 中的属性
现在,当用户点击 'StudentViewModel' 中的保存按钮时,我需要在每个 VM(如学术、个人)中调用 'Save' 方法,并为那些 object 保存更新的属性并推送到我的控制器。
这里的问题很简单。当我调用AcademicViewModel的Save方法时,它会创建一个新的实例,我无法获取通过Tablinks发起的修改后的object。
除了将这些属性设为静态之外,还有其他解决方法吗?
提前致谢。
编辑: 因为,我需要从不同的视图模型调用此 Save 方法。它不是静态方法。它是一个实例方法,因此,我需要一个 object 来调用它。
使用 DI 容器解决了我的问题。