sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

PRISM

C# Prism DialogParameter の実装(学習)

Prism ライブラリーには、「Dialog Service」というものがあります。 利用してみるとこれがとても便利。また、ポップアップしたウィンドウに対して値渡しをする仕組みとしても面白いと思います。仕組みとして考えられているので、自分でもこうした拡張を予想…

WPF UserControl クラスから ContentRendered イベントをバインドする

問題の例 ContentRendered イベントを UserControl から利用する ContentRendered.Command の実装例 サンプル 参考 通常、UserControl から ContentRendered イベントを使いたいシーンはあまり無いと思いますが、例外になるケースがありました。 Prism の Di…

C# DI コンテナと CompositeDisposable の組み合わせ

使い方の例 参考 DI コンテナを利用しているプロジェクトで、リソースを破棄する処理をしようと思ったとき、CompositeDisposable を利用するという選択肢があります。 Window を閉じて終了するとき、Window の情報の〇〇を保存する アプリを終了するとき、ゲ…

Prism 子ウィンドウ(ダイアログ)IDialogAware を表示する

Prism App.xaml MainWindow (View + ViewModel) Dialog1 Dialog2 サンプル 参考 Prism を利用するプロジェクトで子ウィンドウ(ダイアログ)を表示する方法は、バージョンの進化によって変化してきているようです。 現在(下記のバージョン記載)では、ダイ…

Prism EventAggregator はユニットテストに Moq を使うこと

この記事は、ARCTOUCH のブログ記事「Using Moq for unit testing with Prism EventAggregator」を個人的に雑訳したものです。 前回記事では、Publisher-Subscriber パターンと EventAggregator を使用するメリット、そして、プロジェクトでの使用方法につい…

Prism EventAggregator を使用する方法

環境構築 (Installation?) コンストラクターの注入 (inject) イベントの作成 イベントの購読 イベントの発行 イベントの購読解除 高度なこと (Advanced stuff) 参考 この記事は、ARCTOUCH のブログ記事「How to use Prism EventAggregator for .NET app deve…

Prism EventAggregator をなぜ使うべきか

EventAggregator is なに? .NET アプリ開発に Prism EventAggregator をなぜ使用するのか? Prism EventAggregator をいつ利用するのか? Xamarin.Forms の EventAggregator ちょっとした注意点 参考 この記事は、ARCTOUCH のブログ記事「Why you should us…

WPF Prism サンプルコードの学習6(公式外サンプル1)

1. Bootstrap 2. ViewModelLocator 3. Module 4. MVVM の基本クラス 5. InteractionRequest 6. Navigation 7. EventAggregator 8. ModuleLoadSeq 9. RegionBehavior 10. ModuleCatalog まとめ 参考 前回まで Prism の公式サンプルを確認しました。補足として…

WPF Prism サンプルコードの学習5 (Navigation, Invoke)

14. UsingEventAggregator 15. FilteringEvents 16. RegionContext 17. BasicRegionNavigation 18. NavigationCallback 19. NavigationParticipation 20. NavigateToExistingViews 21. PassingParameters 22. ConfirmCancelNavigation 23. RegionMemberLifet…

WPF Prism サンプルコードの学習4 (Commands)

11. DelegateCommands 12. UsingCompositeCommands 13. IActiveAwareCommands まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sa…

WPF Prism サンプルコードの学習3 (ViewModelLocator)

8. ViewModelLocator 9. ChangeConvention 10. CustomRegistrations まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: 8.1.97 (2021/05/25) GitHub - Prism Sample WPF …

WPF Prism サンプルコードの学習2 (Module)

7. Modules 7.1 Modules - AppConfig 7.2 Modules - Code 7.3 Modules - Directory 7.4 Modules - LoadManual 7.5 Modules - Xaml まとめ 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは…

WPF Prism サンプルコードの学習1 (Bootstrapper, Region)

1. BootstrapperShell 2. Region 3. Custom Region Adapter 4. View Discovey 5. View Injection 6. ActivationDeactivation 参考 WPF + .NET Core (5以降は Core は省略される) で Prism を使ってみよう。 使用している Prism のバージョンは次のとおり: …

Prism Full App (.NET Core) テンプレートを体験する

テンプレートの構成について WPF_Core_FullSample プロジェクト Core プロジェクト Modules.ModuleName プロジェクト Services.Interfaces プロジェクト Services.Services プロジェクト 新しいサービスを追加するテスト Services.Interfaces の修正 Service…