gpt4 book ai didi

wpf - 如何反射(reflect)对其他窗口的 ViewModel 所做的更改?

转载 作者:行者123 更新时间:2023-12-03 10:40:02 24 4
gpt4 key购买 nike

我的应用程序包含以下模块:

系统型号 --> SystemViewModel --> 系统窗口

设置型号 --> SettingsViewModel --> 设置窗口

我的 SystemViewModel 包含 SettingsViewModel 和其他东西。
在我的 SystemViewModel 我创建了一些 实例 它的 ctor 收到 SettingsViewModel .

如果我想更新我打开新的设置设置窗口作为带有 的 ShowDialog SettingsViewModel 作为他的DataContext。如果用户单击“确定”,我会更新设置,否则我不会更新。

我的问题是我不知道如何更新 设置 实例 我在 中创建的SystemViewModel ( 实例 在他的 ctor 中收到 SettingsViewModel )。

任何的想法?

最佳答案

你可以只创建一个设置 View 模型的实例,可能驻留在一个通用 View 模型中,为 View 模型提供某种根,并提供将模型绑定(bind)在一起的粘合剂?

类似于 View 模型 Controller 的东西,即使这听起来有点奇怪。此 Root View 模型可以对来自 View 模型的事件使用react,然后可以执行更新其他设置所需的一切。

另一种方法是基于消息传递的方法,例如由 MVVM Light Toolit 实现的方法。我曾经使用过一次,在项目变得相当大之后,这种方法在维护方面有点复杂。

更新:

您可以找到有关 MVVM Light Toolkit here 的信息.

关于wpf - 如何反射(reflect)对其他窗口的 ViewModel 所做的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com