在 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();
}
}
希望对您有所帮助。
我的 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();
}
}
希望对您有所帮助。