Prism Sample 7 Module xaml

2023-07-10,,

这一节使用xaml标记甚为不解。

本节注册module 的方式同directory一节很类似。在那一节中,用工厂方法创建一模块目录:

protected override IModuleCatalog CreateModuleCatalog()
{
return new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
}

这里用了同一个方法,返回也相同,但是实现不同。

protected override IModuleCatalog CreateModuleCatalog()
{
return new XamlModuleCatalog(new Uri("/Modules;component/ModuleCatalog.xaml", UriKind.Relative));
}

这里也指定了目录,同时指定了一个用xaml写的配置文件,配置文件的内容也似曾相识:

<m:ModuleCatalog xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:Prism.Modularity;assembly=Prism.Wpf"> <m:ModuleInfo ModuleName="ModuleAModule"
ModuleType="ModuleA.ModuleAModule, ModuleA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> </m:ModuleCatalog>

这里面的参数我们在app.config中也用到过。

注意上面代码中/Modules不是模块输出目录,而是项目目录。

Prism Sample 7 Module xaml的相关教程结束。

《Prism Sample 7 Module xaml.doc》

下载本文的Word格式文档,以方便收藏与打印。