在 wpf 中从 xaml 动态加载 shell 模块

Dyamic Loading shell module from xaml in wpf

我的 Catalog.xaml 文件是否正确加载 prism 中的(ShellProject 或 Module1)项目

<Modularity:ModuleInfo InitializationMode="OnDemand"
                       ModuleName="Module1Init"
                       ModuleType="Module1, Module1, Version=1.0.0.0"
                       Ref="file://Module1.exe">

是的,这是一种方式! 没有必要将模块详细信息放在目录文件中。您也可以在 App.Config 文件中提及

   <configSections>
   <section name="modules" type="Prism.Modularity.ModulesConfigurationSection, 
   Prism.Wpf" />
   </configSections>

   <modules>
   <module assemblyFile="ShellModule.dll"
moduleType="namespace, assemblyname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
   moduleName="ModuleName" startupLoaded="True" /> 

在 App.xaml 文件中,您需要输入以下代码:

    <prism:PrismApplication x:Class="CCSEnterprise.RIA.App" x:ClassModifier="internal" 
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:prism="http://prismlibrary.com/">


    </prism:PrismApplication>

并且在 App.xaml.cs 文件中:

        internal partial class App : PrismApplication
       {

    protected override IModuleCatalog CreateModuleCatalog()
    {
        return new ConfigurationModuleCatalog();

    }
    }

希望对您有所帮助。