我通过一个xaml文件定义application需要的Module如下:
<prism:ModuleCatalog xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:prism="clr-namespace:Microsoft.Practices.Prism.Modularity;assembly=Microsoft.Practices.Prism"> <prism:ModuleInfo ModuleName="HeaderModule" InitializationMode="WhenAvailable" ModuleType="HeaderModule.HeaderModule,HeaderModule,Version==1.0.0.0,Culture=neutral,PublicKeyToken=null" Ref="HeaderModule.xap" /> </prism:ModuleCatalog>
然后通过重载UnityBootstrapper中的CreateModuleCatalog方法,如下:
protected override Microsoft.Practices.Prism.Modularity.IModuleCatalog CreateModuleCatalog() { return Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml(new Uri("/ModuleTest;component/ModuleCatalog.xaml")); }
整个solution结构如下图:
F5运行,始终不显示页面页面。可以肯定的是Module没有问题,因为直接引用此Moduels并通过重写UnitBootstrapper中的ConfigureModuleCatalog()添加此Module时正常显示页面。
请问:通过配置.xaml文件创建ModuleCatalog需要注意哪些方面,上面的问题在哪里?