gpt4 book ai didi

.net - 使用 MVVM 轻量级工具包动态创建 ViewModel

转载 作者:行者123 更新时间:2023-12-03 10:50:04 26 4
gpt4 key购买 nike

我有一个搜索 View 和详细信息(2-3) View ,这取决于搜索 View 的选择。在选择时,搜索 View 模型发送消息以将 View 更改为主视图模型,并且还发送带有所选 ID 的消息。

当主视图模型收到 View 更改消息时,它会调用详细 View 1。这将在 Locator 中查找 datacontext 中指定的 View 模型。验证此 View 详细信息后,应显示详细 View 2,并在搜索中显示所选用户的详细信息。

我在看 MIX 11 的视频。有点想法。但我想使用 MVVM 工具包 3 来做到这一点。

因此,如果我创建一个包含所有详细 View 模型的类并在选择更改事件时填充所需的 View 模型对象,我应该会很好。但是我还应该在定位器中声明静态虚拟机吗?如果 View 正在寻找 detailviewmodel1 类型的数据上下文,我如何与 View 模型定位器通信,使用此类而不是定位器中的静态 VM?

最佳答案

我不确定是否需要动态 ViewModel。 ViewModel 只是一个或多个模型的包装器,用于为 View 提供 Hook 。话虽如此,如果您已经知道 View,那么您已经知道 ViewModel 并且应该在设计时实现它。

阅读您的帖子,您看起来更像是希望为一个 View 拥有多个 ViewModel。如果这是正确的,您将需要研究依赖注入(inject)。这将允许您根据某些标准将 VM 注入(inject)到 View 中。我个人对此的建议是ninject。

也许有更多 MVVM Light 经验的人可以来提供更多信息。我自己是一个 Caliburn.Micro 人,虽然比 MVVM Light 复杂一点,但它在构造函数注入(inject)和其他类似的事情方面具有更大的灵 active 。

关于.net - 使用 MVVM 轻量级工具包动态创建 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315414/

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