タグ

ブックマーク / qiita.com/swd (7)

  • Prism 6.3から7.0にアップデートする - Qiita

    はじめに XamarinやPrismについて知らない人はこれらの記事を読んでください。 https://qiita.com/amay077/items/38ee79b3e3e88cf751b9 http://www.nuits.jp/entry/2016/08/11/160313 今回はPrism6.3から7.0にアップデートする方法について説明します。 VisualStudio 2017 For Mac のPrismのテンプレートは2018/05の時点でPrism6.3向けになっています。Prismの最新版は7.0です。 最新の環境に合わせるために、6.3のテンプレートから7.0にアップデートします。 手順 まずはVisualStudioからパッケージを最新にします。 そしてコンパイルすると...エラーができます。 Prismは6.3から7.0の更新で破壊的変更が行われています。 そのた

    Prism 6.3から7.0にアップデートする - Qiita
  • Prism入門 その1 - Qiita

    はじめに ある程度大きなGUIを持つソフトウェアを開発する場合、 開発を容易にするために何らかのデザインパターンに基づいて開発することが多いです。 ソフトウェアを開発する際に使用するデザインパターンとしては MVC (Model-View-Controller)やMVVM (Model-View-ViewModel)などがあります。 当然、OSやプログラミング言語固有の機能のみで、これらのデザインパターンを実現できます。 ただ、何らかのフレームワークを使用するほうがデザインパターンを楽に実現できます。 PrismはXamarinでMVVMを実現するためのフレームワークです。 MVVMについて MVVMはModel, View, ViewModelの3層で構築されます。 それぞれの項目を簡単に説明すると、 Model GUIの描画には関係ないデータの読み書き、編集、保持等を行う層 View

    Prism入門 その1 - Qiita
  • Prism入門 その2 - NavigationService - Qiita

    はじめに Prism入門2回目です。 今回は画面遷移を行うためのNavigationServiceについて説明します。 Xamarin.Formsでは画面遷移にNavigation.PushAsyncを使用します。 ただ、このメソッドはContentPageクラスのメソッドであり、MVVMの層でいうとViewに存在します。 Viewは画面を描画する機能しか持たないのに画面遷移の機能をViewで行うのはおかしいです。 そこで、XamarinにはNavigationServiceという機能が存在します。 これはViewModelで画面遷移を行えるようにする機能です。 一旦、画面遷移はViewModelでやるべきか、という話は置いておきましょう。 今回はNavigationServiceについて説明します。 NavigationServiceの生成と使用 NavigationServiceはコン

    Prism入門 その2 - NavigationService - Qiita
  • Prism入門 その3 - DelegateCommand - Qiita

    はじめに Prism入門3回目です。今回はDelegateCommandについて説明します。 MVVMではViewは描画しかできません。メソッドはVMに記述される必要があります。 Viewにメソッドは基的に書かないので、バインドでメソッドを実行できるようにする必要があります。 そこで登場するのが、ICommandインターフェースです。 例えば、ICommandインターフェースを持ったクラスのプロパティをボタンでバインドするとボタンを押した時にコマンドが実行されます。 ただ、メソッドごとにICommandインターフェースを持ったクラスを用意するのはとても面倒です。そこでDelegateCommandを使用します。 DelegateCommand DelegateCommandは初期化時にラムダ式やメソッドを引数に指定できます。 引数には実行する内容と、実行できるか、の2つのメソッドを指定で

    Prism入門 その3 - DelegateCommand - Qiita
  • Prism入門 その4 - IPageDialogService - Qiita

    はじめに Prism入門その4です。 今回はダイアログを表示します。 実行する方法はとても簡単で短いです。 しかし、MVVMとしては重要な要素が含まれています。 IPageDialogService ダイアログを表示するにはIPageDialogServiceを使用します。 ViewModelのクラスのコンストラクタの引数にIPageDialogService pageDialogServiceを指定します。 これを指定するとクラスのインスタンスが生成された時にIPageDialogServiceのインスタンスが自動的に生成されます。 ダイアログを表示するにはIPageDialogServiceのインスタンスのメソッドを実行するだけです。 クリックするとダイアログが表示されるサンプルです。 public DelegateCommand Clicked { get; private set;

    Prism入門 その4 - IPageDialogService - Qiita
  • Prism入門 その5 - IEventAggregator - Qiita

    はじめに Prism入門5回目です。 今回もVMからVに通知する方法について説明します。 前回はVMからVに通知してダイアログを表示する方法のみを話しました。 予め設定されているダイアログは表示できますが、それ以外はできません。 エラー表示だけならそれで十分ですが、実際には広告や起動時のヘルプの表示など、 好きなようにVMからVを操作できるようにする必要が出てきます。 Prismでは任意の操作をVMからVに行うために、EventAggregatorという機能があります。 EventAggregator EventAggregatorは今までと同じように、 コンストラクタにIEventAggregator eventAggregatorを記述することで使用できるようになります。 今までと異なり、ViewModelのクラスにだけでなくViewのクラスにも引数を記述します。 Viewには可能な限

    Prism入門 その5 - IEventAggregator - Qiita
  • PRISM入門 その6 - DependencyInjection - Qiita

    はじめに Xamarinでスマートフォン向けのアプリケーションを開発しているとAndroidとiOSで異なる動作をさせたくなることがあります。当然、プリプロセッサを使用してOS毎に異なる動作をするように書くことはできます。 しかし、その方法ではOS毎に異なる設定とコンパイルが必要であり、同じ場所に複数のOS向けのコードを書くことになりコードが長くなってしまいます。 このような問題に対して、DependencyInjectionという手法を使用すると解決しやすくなります。 DependencyInjectionを用いると複数の環境(OSやセンサー、ネットワーク)等への対応や自動テストがやりやすくなります。 DependencyInjectionの方法は以下のようになります。 差し替えたい動作をMVやVとは異なるクラスに記述して、MVやVでその動作を行う時にクラスを渡すようにします。環境や条件

    PRISM入門 その6 - DependencyInjection - Qiita
  • 1