タグ: Prism入門

0

WPF Prism episode: 9 ~ ReactiveProperty の Validation は DataAnnotation じゃないと思った? ~

  前回は Prism の RequestNavigate に設定したパラメータを遷移先画面で受け取り、パラメータから取り出したデータを ReactiveProperty で View とバインドする方法を紹介しました。 その際、VM ⇔ View 間だけでなく Model ⇔ VM 間も双方向でバインドすることで、View で入力した値が Model までシームレスに伝播する方法も併せ...

0

WPF Prism episode: 8 ~ ReactiveProperty がバインドできないのはどう考えても Navigation が悪い! ~

  前回は Prism の RequestNavigate に渡したパラメータを INavigationAware インタフェース経由で受け取って Prism の BindableBase で View とバインドする方法を紹介しました。 今回は前回から引き続き INavigationAware.OnNavigatedTo イベントで受け取ったパラメータを ReactivePropert...

0

WPF Prism episode: 7 ~ 画面遷移のパラメータたちが INavigationAware から来るそうですよ? ~

  前回は TreeView の SelectedItemChanged イベントで MainWindow 左側の View を動的に切り替える方法と、View の切り替え時にパラメータを渡す方法を紹介しました。 今回は Prism の RequestNavigate メソッドに設定したパラメータを View 側(VM)で受け取る方法を紹介します。 ※ Google 等の検索エンジンから...

0

WPF Prism extra: 3 ~ とある TreeView の状況一覧 (Context menu) ~

  Prism 入門本編の展開の都合上、コンテキストメニューが必要になるため、今回の extra は TreeView へコンテキストメニューを追加する方法を紹介します。 この extra: 3 の内容は元々 Prism 入門本編の episode: 8 の一部でしたが、Prism からは離れた内容なので extra シリーズの単発記事として分割することにしました。 尚、この記事は Vi...

3

WPF Prism extra: 2 ~ TreeViewItem を MVVM パターンで選択する ~

  本編の流れからは少し外れる小ネタを紹介する extra シリーズの 2 回目は TreeView の TreeViewItem を MVVM パターンで選択する方法を紹介します。 このエントリは元々 episode: 7 に書いていた内容を少し修正しただけなので、Prism 入門本編の episode シリーズと同じサンプルを使用します。 尚、この記事は Visual Studio ...

0

WPF Prism episode: 6.5 ~ いつだって Prism の画面遷移は RequestNavigate だった。 ~

  前回はコントロールのイベントを Command に変換して VM とバインドする方法を紹介したので、今回は Prism で View を動的に切り替える方法を紹介します。 尚、この記事は Visual Studio 2017 Community Edition で .NET Framework 4.7.2 以上 と C# + Prism 7.1 + ReactiveProperty ...

8

WPF Prism episode: 6 ~ されどイベントは ViewModel と踊る ~

  前回は ReactiveProperty を使用して TreeView へアイコン付きの TreeViewItem を表示するまでを紹介したので、今回は WPF の イベントを Command へバインドする方法を紹介します。 尚、この記事は Visual Studio 2017 Community Edition で .NET Framework 4.7.2 以上 と C# + P...

0

WPF Prism extra: 1 ~ TreeViewItem を MVVM パターンで展開する ~

  前回は List 系コントロールの各項目ごとに VM を作成する方法を紹介したので、本来は View で発生したイベントを Command へバインドする方法を紹介するのが本筋ですが、Prism 入門の付録的なエントリとして TreeViewItem を全展開する方法を紹介します。 尚、この記事は Visual Studio 2017 Community Edition で .NET...

0

WPF Prism episode: 5 ~ TreeView の MVVM には ReactiveProperty が埋まっている ~

  前回は VM ⇔ View 間のバインディングインタフェースに採用した ReactiveProperty を使った MVVM 入門編と ReactiveProperty(ReactiveCollection)を TreeView の ItemsSource に指定するまでを紹介したので、今回は TreeView を MVVM パターンで正しくバインドする方法と、ReactivePro...

0

WPF Prism episode: 4.5 ~ ReactiveProperty からはじまる MVVM 狂想曲 ~

  前回記事では Prism Shell で生成したデータオブジェクトを DI コンテナの【Unity】を経由して TreeView を配置した Prism Module へ渡す所まで紹介しました。 このエントリの内容は元々 episode: 5 として公開していた記事の一部でしたが、加筆・修正箇所が予想以上に増大したため、episode: 4.5 と、episode: 5 の 2 つに...

6

WPF Prism episode: 4 ~ DI だけど Unity さえあれば関係ないよねっ ~

  前回は Prism Module 内の View(UserControl)を Prism Shell へ動的に読み込むまでを紹介したので、今回は Prism のコンポーネント間でデータをやり取りするする際の仲介役となる DI コンテナ【Unity】の使い方を紹介します。 又、前回エントリの最後で「次回は TreeViewItem を TreeView へ表示する」と予告しましたが、エ...

12

WPF Prism episode: 3 ~ Re: ゼロから始める Prism 生活 ~

  前回の記事では、Prism の Module を Shell へ読み込む手順を Prism 公式サンプル を使って紹介したので、今回からは実際にサンプルアプリを作成しながら Prism でよく使用すると思われる機能をどのようにアプリへ組み込むかを順に紹介していく予定です。そして今回は Prism のプロジェクトを作成して Module 内の View を Shell へ表示する所まで...

0

WPF Prism episode: 2 ~ WPF のフレームワーク決まってますか? 迷ってますか? Prism を選択してもらっていいですか? ~

  episode: 1 では最終的に使用するフレームワークを決定しませんでした。 episode: 1 を書いていた頃は【MVVM light toolkit】を第一候補に考えていましたが、調べていくと MVVM light toolkit には MVVM パターンを実現するための最低限の機能は含まれているが、応用的な仕組みは使用者自身で作成する必要がある… 的な印象を受け...