halation ghost 【WPF Prism episode: 3 ~ Re: ゼロから始める Prism 生活~】 で作成したサンプル。
Prism のプロジェクトを新規作成して Prism の Module を Shell に読み込む部分までを紹介。
Prism の Bootstrapper に設定する内容を紹介しています。
halation ghost 【WPF Prism episode: 3 ~ Re: ゼロから始める Prism 生活~】 で作成したサンプルの Prism 7.1 対応版。
Prism のプロジェクトを新規作成して Prism の Module を Shell に読み込む部分までを紹介。
Prism 7.1 で変更になった部分も併せて紹介しています。
halation ghost 【WPF Prism episode: 4 ~ DI だけど Unity さえあれば関係ないよねっ~】 で作成したサンプル。
Prism の Shell ⇔ Module 間で受け渡すデータをプロジェクト作成時に選択した DI コンテナ(ここでは Unity)を介してやり取りするサンプル。
halation ghost 【WPF Prism episode: 4.5 ~ ReactiveProperty からはじまる MVVM 狂想曲 ~】、
halation ghost 【WPF Prism episode: 5 ~ TreeView の MVVM には ReactiveProperty が埋まっている ~】 で作成したサンプル。
MVVM パターンで TreeView へデータをバインドするサンプル。
TreeView の各 Item 毎に VM を用意してバインドする例を紹介しています。
MVVM パターン入門で紹介したサンプルプロジェクトを追加。(2019/4/18 追記)
halation ghost 【WPF Prism extra: 1 ~ TreeViewItem を MVVM パターンで展開する ~】 、
halation ghost 【WPF Prism episode: 6 ~ されどイベントは ViewModel と踊る ~】 、
halation ghost 【WPF Prism episode: 6.5 ~ いつだって Prism の画面遷移は RequestNavigation だった。 ~】で作成したサンプル。
EventToReactiveCommand(View 側)と ReactiveCommand(VM 側) を利用して TreeView.SelectedItemChanged イベントを VM 処理するサンプル。
イベントパラメータ(EventArgs)を受け取って Prism の RequestNavigation メソッドで別の View に切り替えるまでを紹介しています。
又、extra: 1 では TreeViewItem.IsExpanded プロパティをバインドする方法を紹介しています。
halation ghost 【WPF Prism extra: 2 ~ TreeViewItem を MVVM パターンで選択する ~】 、
halation ghost 【WPF Prism episode: 7 ~ 画面遷移のパラメータたちが INavigationAware から来るそうですよ? ~】 で作成したサンプル。
Prism の NavigationContext と INavigationAware を利用して遷移先画面の VM にパラメータを渡すサンプル。
View と VM は Prism の BindableBase でバインドする例を紹介。
UserControl.Loaded イベントを ReactiveCommand とバインドして TreeView の SelectedItem を設定するサンプルも含んでいます。
halation ghost 【WPF Prism extra: 3 ~ とある TreeView の状況一覧 (Context menu) ~】、
halation ghost 【WPF Prism episode: 8 ~ ReactiveProperty がバインドできないのはどう考えても Navigation が悪い! ~】 で作成したサンプル。
List 型メンバを編集するための View がどのメンバに対応する View かを Prism の INavigationAware.IsTarget を使用して判定するサンプル。
TreeView に追加したコンテキストメニューから ReactiveCollection へ項目を追加すると TreeView に子 Item が追加されるサンプルも併せて紹介しています。
又、ReactiveCommand からコントロールの IsEnabled を設定する方法や ReactiveProperty を使用して VM ⇔ Model 間を双方向でバインドするサンプルも含んでいます。
halation ghost 【WPF Prism episode: 9、9' ~ ReactiveProperty の Validation は DataAnnotation じゃないと思った?~】 で作成したサンプル。
halation ghost 【WPF Prism extra: 4 ~ Extended WPF Toolkit™ で数値と日付を入力 ~】 で作成したサンプル。
ReactiveProperty へバリデーション(DataAnnotation)を設定するサンプルと Xceed の Extended WPF Toolkit™ を使用するサンプル。
episode: 9、9' で設定したバリデーションの ErrorTemplate を設定するサンプル。
Prism の IConfirmNavigationRequest を使用して画面遷移をキャンセルするサンプル。
halation ghost 【WPF Prism episode: 12 ~ Prism メッセージボックスの Service な日常 ~】 で作成したサンプル。
Prism 組み込みのメッセージボックスを表示するサンプル。
halation ghost 【WPF Prism episode: 13 ~ カスタマイズしたらメッセージボックスだった件 ~】 で作成したサンプル。
Prism 組み込みのメッセージボックスをカスタマイズするサンプル。
halation ghost 【WPF Prism episode: 14 ~ ListBox 相手は ReactiveCollection、ダイアログな、Prism。 ~】 で作成したサンプル。
Prism からダイアログウィンドウを表示するサンプル。
Prism から FolderBrowserDialog や OpenFileDialog 等のコモンダイアログを表示するサンプル。
halation ghost 【WPF Prism episode: 16 ~ Prism7.2、ダイアログは IDialogService でって言ったよね! ~】 で作成したサンプル。
Prism 7.2 から新たに追加された IDialogService でダイアログを表示するサンプル。
halation ghost episode: 16 のコメントに書かれた質問への回答用サンプル。
Prism + ReactivePropertyでMVVMアプリを作成するためには定石とも言える構造を紹介するために作成したサンプル。
モデル層の変更をReactivePropertyを使用してVMへ伝播する方法を理解するのに向いていると思います。
halation ghost episode: 16 のコメントに書かれた質問への回答用サンプル。
Prism Shell起動時にPrism ModuleのViewを非表示でLoadしたい場合の裏技的な方法を紹介するためのサンプル。 重いViewをアプリ起動時にあらかじめLoadしておきたい場合を想定していますがあまりお勧めの方法とは言えないような気がします。