WPFにおけるPrism集中講座(4) ソリューション内のプロジェクトを利用する
07-Modules-AppConfig Description には Load modules using an App.config file と書かれています。 さて、これは何でしょうね?実行したら「View A」と表示されます。 ソリューションを見てみると、プロジェクト「Modules」と「ModuleA」があります。 おそらく「Modules」から「ModuleA」のView を使っているのでしょう。 App.config <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="modules" type="Prism.Modularity.ModulesConfigurationSection, Prism.Wpf" /> </configSections> <startup> </startup> <modules> <module assemblyFile="ModuleA.dll" moduleType="ModuleA.ModuleAModule, ModuleA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="ModuleAModule" startupLoaded="True" /> </modules> </configuration> 更新されたファイル単体では分かりにくいので、06-ViewActivationDeactivation の App.config を引用してみます。 <?xml version="1.0" encoding="utf-8"?> <configuration> <startup> </startup> </configuration> はい、見事に空っぽですね。 実際 ModuleA フォルダを bin を基準に掘っていくと ModuleA.dll があります。 では ModuleA にある肝心の変更部分を見てみましょう。 ModuleA\ModuleAModule.cs using ModuleA.Views; namespace ModuleA { public class ModuleAModule : IModule { public void OnInitialized(IContainerProvider containerProvider) { var regionManager = containerProvider.Resolve<IRegionManager>(); regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA)); } public void RegisterTypes(IContainerRegistry containerRegistry) { } } } 他の変更は些細なものなので省略します。 ...