Prism
これの続きです。 blog.okazuki.jp Prism for Windows(UWP) って書いてるけど MVVM アプリって何で作ったらいいんだっていう感じのコメントがついてるので事実だけを淡々と Prism は以下のプラットフォーム向けに提供されていた WPF Xamarin.Forms UWP これ…
github.com ということで近い将来 Prism 7 系で UWP サポートは無いということで…。 コメントへの返信 ブクマで疑問文投げてくる人に公式で返信する手段が欲しいところ。あるのかな? もう、UWP は Windows 10 の唯一のデスクトップアプリ開発の投資先ではな…
こちらを見て、そういえばさらっと書いてるだけだったなぁと思ったので…。 elf-mission.net イベント引数を ViewModel で使いたい マウス系イベントや選択系イベントは、イベント引数にしか入ってない値とかもあったりして使いたくなりますよね。 まぁ、イベ…
Prism 7 系で色々仕様変更がありましたが、その中でも大きな変更のうちの 1 つが DI コンテナにクラスを登録する処理の変更です。今までは各 DI コンテナのクラスを直接触っていましたが IContainerRegistry インターフェースというインターフェースが Prism…
Xamarin.Forms 向けの Prism の 7.1 (2018/07/17 時点で preview)で便利な機能が追加されてたので紹介します。 ドキュメントページはこちら。 Xaml Navigation | Prism これが無い時はどうしてた? 画面遷移するだけの DelegateCommand 型のプロパティを定…
Xamarin.Forms にも標準で DependencyService という機能があるんですが、こいつよりも柔軟な素敵な機能が Prism.Forms には提供されています。 IPlatformInitializer それは IPlatformInitializer です!これは、Prism.Forms のDIコンテナへのインスタンス…
Xamarin Studioベースで話を進めます。(Visual Studioでもだいたい同じになると思うけど) まずForms Appを新規作成してPCLで作ります。 NuGetから以下のパッケージを追加します。 Prism.Autofac.Forms Views名前空間を作って、そこにMainPage.xamlを作成し…
先日SlideShareに公開したXamarin.FormsのPDFですが Xamarin.forms入門 from 一希 大田 www.slideshare.net こちらは、SlideShareにログインすると無料でダウンロードできます。 それに加えて、Kindleで販売も始めました。こちらはKindleで見たい人向けです1…
SlideShareでログインしてダウンロードできるようにしています。是非ダウンロードしてみてください!200ページちょっとあります。 Xamarin.forms入門 from 一希 大田 www.slideshare.net 目次 1 はじめに 1.1 ターゲットプラットフォーム 1.2 Xamarin.Forms…
例えばMicrosoft.AzureのStorageのライブラリなんかがXamarin.AndroidとXamarin.iOSには対応してるけどPCLには対応してないといった感じです。 被害者がここに。 @chomado ウワアアあああああああああああああああああXamarin .Forms PCL の私 爆死\(^o^)/…
お題の通りです。 こんな感じでReactiveCommandを普通に使うと連打すると2重で画面遷移したりします。 using Prism.Mvvm; using Prism.Navigation; using Reactive.Bindings; using System; namespace PrismUnityApp12.ViewModels { public class MainPageVi…
というサンプルをGitHubにあげました。 github.com 結構RegionBehaviorを使ったりBehaviorを使ったり頑張ってます。 ここら辺が現実的な妥協点かもしれませんと思います。
WPF版Prismは使いこなすと強力です。でも使いこなすの大変です。ハイ。学習コストかけてられないし、学習コストかけたからといって1個のアプリ開発で、そのコストを回収できるかもわかりませんですしね。 ということで、なるべくライトにPrismを使ってみたい…
アップデート もうちょっと頑張ったサンプルをGitHubに公開しました。 github.com 古い内容 PopupWindowActionで表示するWindow内で画面遷移したい!とかいうことがあると使えないんですよね。ということで解決策として、RegionManagerを新しく作って、それ…
PrismはデフォルトでViews名前空間にあるViewとViewModels名前空間にあるViewModelを紐づける機能を持っています。この機能を有効化するには、PageのXAMLに以下の2行を追加します。 xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms" prism:View…
「Prism.Formsについて」というタイトルで、発表してきました。 Prism.Formsについて from 一希 大田 www.slideshare.net ライブコーディング失敗しなくてよかった。
Prism.Formsは、基本的にUnity(DIコンテナのほう)を使ってます。 こいつを使うとインスタンスの組み立てとかをお任せ出来るので楽ちんなのです! Prism.Formsでは、そんなUnityの機能を拡張して、DependencyServiceから取得するインスタンスを自動でインジェ…
Prism Template Packを使うと簡単にApp.configによるModuleCatalogの構成ができるということで、今まで書いてなかったそこの部分についてPrism自習用リポジトリに追記しました。 github.com
Xamarin版PrismのPrism.Formsですが、Xamarin Evolve 2016が終わってから更新頻度が上がってます。 次のリリースに向けて動き出してるって感じですね。 ただ、5月7日にPrism.Formsについてセッションをする身としては、次のバージョンがいつ出るのかドキドキ…
Prismのテンプレートパッケージを入れるとApp.configのエディタが追加されます。 visualstudiogallery.msdn.microsoft.com App.cinfigを右クリックするとOpen with Prism Module Editorというのが表示されます。 これでApp.configを開くと以下のようにモジュ…
Prism.Formsでは、IPageDialogServiceというインターフェースが提供されていて、ダイアログの表示もばっちりViewModelで出来るようになっています。 IPageDialogServiceには、DisplayAlertメソッドと、DisplayActionSheetメソッドが定義されています。Displa…
ytabuchi.hatenablog.com 上記記事をPrism.Formsを使ってやるとどうなるだろうという奴です。 まず、Prism MasterDetailPage (Forms)でRootPageという名前のページを作ります。 続けて、メニュー部を担当するMenuPageをPrism ContentPage (Forms)で作ります…
Prism.Formsは、地味にネストした画面遷移みたいなのをサポートしています。 画面遷移のINavigationService#Navigateメソッドに渡すURLに"/HogePage/FugaPage/BarPage?id=10"みたいに/で区切ってページ指定が出来ます。 最初が/だと絶対パスになるっぽくて画…
変更通知用のINotifyPropertyChangedとコマンド用のICommand実装クラスが提供されています。 INotifyPropertyChangedの実装クラス BindableBaseクラスになります。SetPropertyというメソッドがあって、変更通知プロパティを以下のように定義できるようになっ…
Prism.Formsのプロジェクトを新規作成します。 Prism ContentPageを1つ追加します。NextPageという名前で作りました。こんな感じで。
Prism.Formsを使えば簡単にMVVMのViewのBindingContextにViewModelを設定できます。Hello worldでもやったっちゃやりましたが、もう一度改めてやってみようと思います。 VとVMを紐づけるには、ViewModelLocatorというクラスを使用します。ViewModelLocatorク…
Prism.Formsを使ってViewを作成するには、Views名前空間にXAMLの形式で作るのが素直でいい感じです。 Viewは、利用可能にするには、Views名前空間に作成するのに加えてAppクラスのRegisterTypesメソッドでUnityのコンテナに登録する必要があります。この登録…
PrismってXamarinにも対応してるんですよね(Previewですけど)ということで、Hello worldしながら、基本的な手順をやっていこうと思います。 プロジェクトの新規作成 まず、プロジェクトの新規作成を行います。Cross-Platform/Blank App (Xamarin.Forms Por…
PrismのViewModelには画面遷移してきたタイミングで呼ばれるOnNavigatedToと画面から離れるときやサスペンド時に呼ばれるOnNavigatingFromメソッドがあります。ページが有効な間はイベントを購読したいというケースでは、OnNavigatedToでイベントの購読を行…
PrismUnityApplicationなんかを継承してると、単体テストに失敗します。このIssueですね。 github.com Issueにある通りAppクラスにBindableAttributeを付ければ単体テストが実行できるようになります。 using Prism.Unity.Windows; using System.Threading.T…