gpt4 book ai didi

wpf - Prism 、MVVM 和模块化

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

我(非常)最近开始研究 Prism(用于 WPF 应用程序),并且一直在为我的团队开发一个小型演示应用程序。我的问题是一个相当笼统的问题,但我找不到一个简单的例子来指导我:
假设我有 Shell(在主模块中),并且 Shell 有一个区域应该由来自不同模块的内容填充(顺便说一句,这是个好主意吗?)。
这究竟是如何发生的?谁负责将来自其他模块的 View 添加到 Shell 的指定区域?何时初始化其他模块的相关 View 模型?代码示例/指向它们的链接将不胜感激。

谢谢!

编辑 : 问题拆分,请看the new question .

最佳答案

在您的 Bootstrap 中,您将定义一个模块目录(覆盖 CreateModuleCatalog),其中列出了将在您的应用程序中使用的模块。每个模块都有一个实现 IModule 的类,其中包含一个 Initialize 方法,该方法在创建模块时被调用。在此您将定义要添加到外壳区域的内容:

    public void Initialize()
{
RegisterViewsAndServices(); //Method to register dependencies
IMyViewModel model = _container.Resolve<IMyViewModel>();
_regionManager.Regions[RegionNames.ShellHeaderRegion].Add(model);
}

在这里,我向 shell 添加了一个 View 模型,并且我在外部定义了一个资源字典,用于确定应该通过 DataTemplate 将哪个 View 应用于它。

Prism 文档(特别是第 2 章)有很多关于这方面的有用信息。 http://msdn.microsoft.com/en-us/library/gg406140.aspx

关于wpf - Prism 、MVVM 和模块化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8239119/

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