gpt4 book ai didi

MVVM 光屏激活 - 推荐的模式是什么?

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

“屏幕激活”是指 concept from Caliburn Micro ,当您想要在未被占用的区域中显示某些内容或将一个 View 与另一个 View 切换时。在 Caliburn Micro 中,所有这些都是通过 ViewModel 的方法通过实例化和激活另一个 ViewModel 来完成的。在我看来,在 MVVM Light 中,考虑到它的“View First”方法,要实现同样的效果,您需要使用后面的代码,只需将 View 主机的内容切换到其他 View 即可。

我想知道这是否可以在没有代码隐藏的情况下完成,以及此任务是否存在主导模式。

最佳答案

this post我概述了通常用于从 MVVM Light View 模型显示对话框的方法。

MVVM Light 没有区域的概念,也不会强制您使用一种特定的范式来解决问题。这给你留下了很大的自由,然而,相反,这也意味着你必须自己做更多的事情。

如果您需要区域和插件,可能使用更大的框架——如 Prism、Caliburn 或 Ocean(部分)——可能是更好的选择。如果您绑定(bind)到 MVVM Light 并需要此功能,则必须自己创建它 - 因此名称中的“轻”部分 :-)

编辑

您(谢尔盖)的评论让我思考,所以我出去环顾四周,找到了适合您需要的东西。

Mike Hamilton实现了基于 MVVM Light 的导体/屏幕逻辑。样本不使用 ViewModelLocator但我看不出为什么这不能改变(虽然没有尝试过 - 如果时间允许)。然而,这种方法看起来很有希望。 备注 : 它可能仅适用于 WPF - 示例仅适用于 WPF,其中没有导航。

Bedides 源代码中的软件包也可作为 NuGet package .

即使您想推出自己的实现,示例、源代码和博客文章也为您提供了一个很好的起点。

如果您同时针对 WP7 Laurent BuginionJesse Liberty展示了如何实现 NavigationService - 这也属于这一类。

由于 Silverlight 和 WP7 有很多共同点,NavigationService方法也可以转换为与 Silverlight 一起使用 - 实际上我是在我编写的 SL 应用程序中完成的。

Jay Kimble提供了实现 Silverlight 的另一种方法的模板。

至于 Siverlight/WP 7 的“主导”模式是什么,它是 NavigationService模式,对于 WPF - 确实没有“主导”模式,但是,一些竞争者(显示了一个)。

关于MVVM 光屏激活 - 推荐的模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7763699/

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