App.xaml.cs (Prism)
Prism applicationのentry pointのようなもの
基本形
code:App.xaml.cs
using Prism.Ioc;
using System.Windows;
using Prism.Modularity;
namespace PrismFullApp
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App
{
ここまではほぼテンプレ
code:App.xaml.cs
protected override Window CreateShell() => this.Container.Resolve<Views.MainWindow>();
Shellを作成する
PrismApplicationBase.CreateShellをoverrideして実装する
instanceはDI containerに作らせる
code:App.xaml.cs
protected override void RegisterTypes(IContainerRegistry containerRegistry) {};
DI containerに依存オブジェクトなどのclassを登録する
IContainerRegistry.RegisterSingletonなどを用いる
依存オブジェクトに限らず、自作クラスなども登録して、全てのインスタンスをDI containerに生成させる形にすると便利
cf. Prism の DI コンテナらは Ioc 上に歌う step: 4 | :: halation ghost ::
code:App.xaml.cs
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
=> moduleCatalog.AddModule<Modules.ModuleName.ModuleNameModule>():
Moduleをapplicationに登録する
ここではmoduleCatalog.AddModuleを使って登録しているが、他にもModuleの登録方法はいくつかある。
code:App.xaml.cs
}
}