11
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

[WPF] Prism 7.1 で Prism Template Pack を使った開発

Prism6.3からの移行はすんなりできずに諦めようと思ってたけどわりと行けそうだったので最初の段階から徐々に掘り下げて書いていきたいと思います。

開発環境

  • Windows 10
  • Visual Studio 2017

拡張機能

Prism Template Pack の導入

  • 「ツール」メニューの「拡張機能と更新プログラム」をクリック
  • 右上の検索窓で「prism」を検索
  • 「Prism Template Pack」をダウンロード

ソリューションの拡張機能

  • Prism.Wpf v7.1.0.431
  • Prism.Unity v7.1.0.431

新規プロジェクトの作成

  • Prism Blank App (WPF) を選択し、名前を入力してOK

新しいプロジェクト

  • Unity を選択してCREATE PROJECT

PRISM PROJECT WIZARD

  • 作成されたのでそのままF5でデバッグしてみる

ソリューションエクスプローラー

  • 無事起動できた

初期画面

モジュール用プロジェクトを追加

  • ソリューションを右クリック ⇒ 追加 ⇒ 新しいプロジェクト

  • Prism Module (WPF) を選択して名前を入力してOK

新しいプロジェクトの追加

  • View(UserControl)とViewModelとModuleが作成される

ソリューションエクスプローラー

  • ソリューションを右クリックして「NuGetパッケージの復元」を実行

  • 最初のプロジェクトに参照設定

参照マネージャー

モジュールを設定

App.xaml.csでConfigureModuleCatalogをオーバーライドしてモジュールをカタログに追加

App.xaml.cs
protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
{
    moduleCatalog.AddModule<MainContentModule>(InitializationMode.WhenAvailable);
}

RegionManagerにViewを登録

OnInitializedに↓の2行を追加してViewを登録

MainContentModule.cs
var regionManager = containerProvider.Resolve<IRegionManager>();
regionManager.RegisterViewWithRegion("ContentRegion", typeof(ViewA));

実行

モジュール導入後画面

まとめ

Prism Template Pack を使うとフォルダを作ったりXAMLの書き換えをしたりする最初の手間が省けました。
一応こちらにソースを置いておきます。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
11
Help us understand the problem. What are the problem?