では、今回は、
Prismテンプレートで作成したプロジェクトについて
解説したいと思います。
まず、通常は見ることがない、
- Bootstrapper.cs
- MainWindow.xaml
- MainWindowViweModel.cs
ですね。
まず、Bootstrapper.csでは、
ソリューションで使用するシングルトンを定義したり、
モジュールの設定などを記載します。
この辺りは、また後で詳しく解説しますね。
で、残りのMainWindow.xamlと
MainWindowViewModel.csですが、
これはそれぞれViewとViewModelです。
MainWindow.xamlでViewを定義し、
MainWindowViewModel.csでViewModelのコードを
記載します。
ちなみに、ViewとViewModelは命名定義があり、
(つまりは名前を決めるときの決まり事)
Viewsフォルダの中に○○.xamlというViewがあったら、
ViewModelは必ず、
ViewModelsフォルダの中の○○ViewModel.csと対応します。
この名前定義により、
ViewtoViewModelの対応付けがされているのです。
なので、通常は、このルールに従う必要があります。
(違う名前にもできるけど、後々面倒なので)
さらに、Viewのコードを見て見ます。
このコードの中にPrismとかTrueとか記載されていますが、
これが、Prismライブラリが有効になっていることを
表しています。
つまりは、これがある事で、Viewが生成されると同時に、
ViewModelもPrismによって生成されるのです。
なので、ここは絶対に書き換えてはいけません。
ちなみに、MainWindow.xaml.csというファイルもありますが、
これに手を入れることはMVVMモデル設計から
逸脱する行為ですので、
MVVMモデルに準拠するのであれば、
ここに手を加えてはいけません。
では、次にBootstrapper.csを見て見ます。
Bootstrapper.csではアプリケーションの初期設定を行います。
主に、
- DIコンテナー
- モジュール
- リージョン
- ベヒイベア
などの設定をここに記載します。
(この辺りについては後述します)
ここでは、
CreateShell()でMainWindowをResolve
(解決→Viewをインスタンス化)し、
InitializeShell()でMainWindowをShow(表示)
しているのがわかると思います。
ちなみに、
App.xaml.csを覗いてみると、
bootstreapperをRunしているのがわかると思います。
引数eには、コマンドパラメータが配列で格納され、
bootstreapperの一連の処理を実行しているのが
わかると思います。
それでは、次回はDIコンテナーについて解説します。