nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

UWP

XAMLでstaticなプロパティをバインドする

いつも忘れて過去のコードを探しに行くのでメモを。

Xamarin.FormsでAndroidやiOSで例外がさっぱりわかんねえよ!って時の一つの解決方法

なんだかVisual Studio 2017になって、例外が余計に分かりにくくなったような気がするのは気のせいでしょうか? 本当、どうでもいいことでミスしていて(MasterDetailPageのMaster側のPageにTitleを設定するのを忘れていた。。。とか)、でもそれに気が付け…

Prism 6.3.0がリリースされました

去年末からリリースの待たれていたPrism 6.3.0が先ほどリリースされました。 https://github.com/PrismLibrary/Prism/wiki/Release-Notes-6.3.0 今回のリリースはXamarinから見ると非常に多くの魅力的な機能追加が含まれています。 画面遷移時に、遷移前処理…

PrismでViewModelがバインドされないときの調査方法

私も良くやるので、もっとも有効な調査方法をさらっと書いておきます。

PrismにPull Request送ってみた

先日、以下のようなエントリーを書きました。 www.nuits.jp で、Twitterでその関連で話をしていたら、Braian氏からレスが付きました。 @nuits_jp @aetos382 looks like I need to create templates for other containers :)— Brian Lagunas (@brianlagunas) …

Xamarin.Forms.GoogleMaps用のBinding拡張ライブラリをリリースしました

唐突ですがみなさん、Xamarin.Forms.GoogleMaps使っていますか? github.com 私は使っているというか、使おうとしてちょっと疑問があって質問して見たら、なんだかこんな流れでBinding拡張ライブラリの作成を請け負うことになりました。 今は Data Binding …

Prism for Xamarin.Forms Navigationイベント詳細 NavigationPage編

どうも、いまだかつてXamarinでアプリを一本も完成させたことのない初心者です。 本エントリーは[学生さん・初心者さん大歓迎!]Xamarin Advent Calendar 2016の12日目のエントリーとして投稿しました。 前日はbetatさんのグッとくる Xamarin Studio のショ…

Prism for Xamarin.Formsの画面遷移 10のベストプラクティス

本エントリーは Xamarin Advent Calendar 2016 (その1)5日目のエントリーです。 さてこれまで何度かPrismを利用する場合の画面遷移について記述してきました。 Prism for Xamarin.Forms入門 ViewModel Firstで画面遷移する - nuits.jp blog 【Prism for Xa…

【Prism for Xamarin.Forms】Type Safe Navigation潔癖症パターン

ちょっと前に、Prism for Xamarin.FormsにおけるViewModel Firstによる画面遷移をご紹介しました。 www.nuits.jp ただこの例には二つの気になる点(悪い点というわけでもない)がありました。 ViewModelが別のViewModelにクラスの参照のみであるが発生してい…

【完全無料】Azure SQL Databaseを設定する

本エントリーは連載「Xamarin公式サンプルをAzure連携して使う」のAzure SQL Databaseの初期設定回です。 連載の目次は以下にありますので良かったらご覧ください。 Xamarin公式サンプルをAzure連携して使う はじめに&目次 SQL Databaseは単独で作成しよう…

Xamarin.FormsでSQLiteのDBを埋め込んでアプリを配布する

teratailで3日かけて問答して回答し、サンプルコードまで書いたのでせっかくだからこっちでも共有しようかと。 teratail.com 例えば、アプリケーションで利用する大量のマスターデータを配布時にアプリケーションに添付して配布したい、みたいな時に使えます…

Prism for Xamarin.Forms入門 ViewModel Firstで画面遷移する

「JXUGC #18 フォローアップハンズオン Prism & Moqをさわってみよう!」で、PrismでのViewModel Firstの実装方法を紹介するといったな? あれは嘘だ。 って事もないんですけど、調べてみたらコレジャナイ感がありました。 (でもよく考えて一周回って、これ…

Prism and Moqハンズオンのドキュメントを大幅に加筆修正しました

先日、dotsさんにてPrism for Xamarin.FormsとMoqのハンズオンを実施しました。 eventdots.jp 正直、詰め込み過ぎたのと、まさかのVisual Studioの標準機能だけではユニットテストが動かない問題などがあり、ぶっちゃけ凹みました。 そもそも、カンファレン…

Prism and Moq 体験ハンズオンの資料をオープンソースにしたよ~

先日の「JXUGC #18 Xamarin.Forms & Prism & Azure Mobile Apps を使いこなそう」にてPrismとMoqのお話をしてきました。 eventdots.jp 非常にうれしいことにハンズオン開催してほしいというご要望を何名かの方から頂き、実際にハンズオンを開催することと…

JXUGC #18 Why Prism for Xamarin.Forms フォローエントリー

先日、JXUGのカンファレンスにて表題の発表をさせていただきました。 eventdots.jp いや〜、疲れましたけど終わったら楽しかったです。 初めてのライブコーディングで、本当に開始前は手が震えていましたけど終わったらいい思い出です。 開始直前に田渕さん…

Prism for Xamarin.Forms入門 DependencyServiceとPlatformInitializerどちらを使うべきか?Brianに聞いてみた

以前、以下のエントリーでPrismではDependencyServiceをインジェクションする仕組みがある旨、説明しました。 www.nuits.jp しかし、実のところプラットフォームごとにインジェクションするクラスを切り替える方法は、PlatformInitializerを利用する方法もあ…

Prism for Xamarin.Forms入門 CaseStudy:デバイス形状やプラットフォームでViewを切り替える

Xamarin.Formsでは通常、Viewまで1コードで書けるのが利点ですがケースによっては個別に調整したいケースもあるかと思います。 通常、そういった場合は CustumRendererやEffectsの出番です。 しかしケースによってはページデザインをまるっと置き換えたいと…

Prism for Xamarin.Forms入門 IConfirmNavigationAsync

以前、NavigationServiceの解説回にてIConfirmNavigationの説明をしました。 Prism for Xamarin.Forms入門 NavigationService Deep Dive - nuits.jp blog IConfirmNavigationは端的に言うと、画面遷移時に条件によって遷移を抑止することができる機能です。 …

Prism for Xamarin.Forms入門 画面遷移をViewModelに通知するBehaviorを作ってみた

さて一つ前の記事で、PrismのINavigationAwareを代替するのに、PageクラスのAppearingイベントとDisappearingイベントが利用できる。 というお話をしました。 www.nuits.jp 今回はそれを簡便に実現するための方法を紹介したいと思います。 以前、イベントに…

Prism for Xamarin.Forms入門 PushAsync・PopAsyncをViewModelに通知するNavigationPageを作ってみた

さて下記のエントリーで、PrismのINavigationAwareを代替するのに、制限付きではあるもののNavigationPageクラスのイベントを利用できるという紹介をさせていただきました。 www.nuits.jp 今回は実際の実装を見てみたいと思います。 まぁ大したものではない…

Prism for Xamarin.Forms入門 NavigationService 0x.戻るボタン問題:INavigationAware

これまで何度かNavigationServiceについて取り扱った記事を書いてきました。 特に以下のエントリーでは、INavigationAwareとIConfirmNavigationについて記載しました。 www.nuits.jp しかしコメント欄でも話題になっているように、現時点では幾つか期待した…

【Xamarin.Forms】Prism & ReactivePropertyでMVVM開発 解説回

ここ何回か、なんちゃって書籍ビューアを題材にした、Xamarin.Formsアプリを紹介してきました。 github.com 今回は、そのコードの解説を試みたいと思います。 今回紹介するコードは、以下の要素が含まれています。 Xamarin.Forms Prism for Xamarin.Forms Re…

【Xamarin】Prism & ReactiveProperty & MVVMでMoqを使ったUnitTestサンプル

先日、なんちゃって書籍ビューアのコードを紹介しました。 www.nuits.jp そのソースを少し手直しして、ついでにコードによる単体テストも追加してみました。 良かったら参考にしていただけると幸いです。 github.com ちなみにテスト対象はViewを除く、ViewMo…

【Xamarin】MasterDetailPage&MVVMパターンでMasterとDetailの状態を同期するサンプルを作った

今回はPrismは使っていますが、Prism成分は控え目です。 書籍ビューア的なアプリで、ドロワーに目次があり、目次を選択したら該当ページへ飛ぶし、ページをめくっていると開いているページの状態にドロワーの中の目次の選択状態もちゃんと同期されるアプリを…

Prism for Xamarin.Forms入門 Command

さて、今回はCommand編です。 WPFやXamarin.Formsを利用されている方にとっては既に当たり前の機能かもしれません。 Commandって何よ?って方は、以前に概略をまとめたエントリーがありますので、まずはこちらからご覧ください。 www.nuits.jp さてPrismにも…

Prism for Xamarin.Forms入門 DependencyService with Prism

さて、前回はすこし「よりみち」をしてDependencyServiceのおさらいをしました。 今回はPrismにおける、DependencyServiceの取り扱いについてお話ししたいと思います。 そのうえで、なぜそういった機構が必要なのかを解説したいと思います。 「DependencySer…

Prism for Xamarin.Forms入門 よりみち:DependencyService

今回はPrism.Formsから少し離れて、Xamarin.Formsの提供するDependencyServiceについて解説します。 と言うのも 「Prism.Forms上でDependencyServiceとどう付き合うか?」 と言った内容のエントリーを書こうと考えていたのですが、当然ですがDependencyServi…

Prism for Xamarin.Forms入門 PageDialogService

お久しぶりです。 少し間が空いてしまいました。 本当はもう少しNavigationServiceを掘り下げたかったのですが、ちゃんと説明するにはもう少し時間がかかりそうなので、先にPageDialogServiceの説明をしたいと思います。 NavigationServiceについては、機会…

Prism for Xamarin.Forms入門 目次

本エントリーは、Prism for Xamarin.Forms入門の連載記事へのインデックスです。 そろそろエントリー数が増えてきたのでまとめました。 目次 はじめに Hello, Prism コラム01:PrismとDIコンテナ ViewModelLocator NavigationService Quickstart Deep Dive I…

Prism for Xamarin.Forms入門 NavigationService Deep Dive

さて、画面遷移と前画面への戻り方を説明いたしました。 www.nuits.jp 今回は、もう少し踏み込んで画面遷移の要素を一つずつ見ていきたいと思います。 なお本エントリーは連載記事「Prism for Xamarin.Forms入門」の一部となっております。 以下に目次があり…