MVVMを強力にサポートしてくれるPrismですが、Prismを導入するのも意外と面倒だったりします。

そんな面倒をテンプレートを作った段階で解消してくれるPrism Template Packがあります。

Mac上でPrism Template Packをどう適用させれば良いのかイマイチ分からなかったので纏めてみました。

基本的な導入方法について

かりまたかりまた

Xamarin Studioに対して、Prism Template Packを導入する際の基本的な導入方法については以下のサイトを参考にすると良いです。

りんちゃんりんちゃん

一応、リンク先の記事が消されても良いように文字に起こしておくのにゃ~。

  1. Xamarin Studio Communityタブ>アドインを選択
  2. 検索バーでPrismと検索
  3. プロジェクト作成時にMultiPlatform>Prism Unity Appを選択
  4. AppDelegate.csMainActivity.csusing Prism.Unity;using Microsoft.Practices.Unity;を追加

上記を行ってもデバッグできない場合は?

表示されるエラー

かりまたかりまた

私の場合、上記の手順を行っても以下のようなエラーが出たままでした。

‘MainPageViewModel’ does not implement interface member ‘INavigatingAware.OnNavigatingTo(NavigationParameters)’

りんちゃんりんちゃん

INavigationAwareインターフェースを継承したかったら、OnNavigatingTo(NavigationParameters)メソッドを実装しろという事だにゃ~。

エラーの解決

かりまたかりまた

という事で、おとなしくOnNavigatingTo(NavigationParameters)メソッドを追加してみます。

もう一度デバッグしてみる

りんちゃんりんちゃん

めでたしめでたしだにゃ~。

もう一つの解決方法

かりまたかりまた

ナビゲーションを使わないのであれば、ViewModelINavigationAwareインターフェスを継承しないようにすればそれでもビルドエラーは起きなくなりますね。

Visual Studio for Macの場合

かりまたかりまた

Visual Studio for Macでも同様にPrism Template Packを導入しようとしましたがそもそも検索しても表示されなかったですし、ファイルから取り込みをしようとしてもダメでした。なんでなんでしょうか。

まとめ

  • Prism Template Packはアドインから追加
  • プロジェクトをPrism Unity Appで作る
  • AppDelegate.csとMainActivity.csに適宜usingを追加する
  • ViewModelにOnNavigatingToメソッドを追加
  • Visual Studio for Macだと何故かPrism Template Packを追加出来なかった