概要
以下の構成でプロジェクトを開始する。- Caliburn.Micro (MVVMライブラリ) → ガイド
- Autofac (DIコンテナ) → ガイド
- Autofac.AttributedComponent (Autofacへのコンポーネント収集)
- ReactiveProperty + Rx(Model/ViewModel間の連携)
プロジェクトの作成とパッケージインストール
- WPFプロジェクトを作る
- 以下をInstall-Package
- Caliburn.Micro
- Autofac.AttributedComponent
- ReactiveProperty
初期View / ViewModelの作成
ViewModels/ShellViewModel.csにViewModelを作成、Views/ShellView.xamlにWindowを作成。(フォルダは切らなくてもいい: View / View Model Naming Conventionsを参照)
ShellViewModelはCaliburn.Micro.PropertyChangedBaseを継承し、Component attributeを付与する(Scope=ComponentScope.SingleInstanceにするかは好みで)
ShellView.csのクラスにも[Component]をつける。
(つけなくてもいいが、[Resource]によるフィールド・インジェクションが可能になるので、これによってビュー向けのシングルトンインスタンスを受け取ると便利。)
AppBootstrapperの作成
Caliburn.Micro初期化用クラスをBootstrapperBaseを継承して作る。Customizing The Bootstrapper を参照。Caliburn.Micro.AutofacBootstrap がそこそこやってくれるのだけど、ちょっとばかり微妙なので、Autofacへのつなぎは以下で済ませる。
App.xamlの設定
以下のようにする。StartupUriは削除する。MainWindow.xaml(.cs)の削除
いらないので削除。おまけ: お試し
試したかったら、まぁこんな感じで(Basic Configuration, Actions and Conventionsより)ShellView.xaml追記
ShellViewModel.cs
0 件のコメント:
コメントを投稿