nuits.jp blog

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

Xamarin

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

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

Visual Studio拡張にpackagesフォルダを削除するUIを追加しました

ご要望をいただき、Visual Studioでプロジェクトのbin・objフォルダを削除する拡張機能をアップデートして、packagesフォルダを削除する機能を追加しました。 なお、すでにインストールされている方で、アップデートができない方がいらっしゃるかもしれませ…

Prism for Xamarin.Forms入門 IConfirmNavigationAsync

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

Xamarin for Visual Studio 4.2.0.695におけるプロジェクト作成直後の警告について

なんか何名か困ってる方を見かけたのでまとめておきます。

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入門」の一部となっております。 以下に目次があり…

Prism for Xamarin.Forms入門 NavigationService Quickstart

さて、今回のお題目はNavigationService、つまり画面遷移です。 Prismは非常に強力な画面遷移の機構を提供しています。 Viewから完全に分離された、ViewModel主体の画面遷移 DeepLinkingサポート アプリケーション再開時のナビゲーションスタックの再構築 な…

Prism for Xamarin.Forms入門 ViewModelLocator

さて、今回からいよいよ個々の細かいエッセンスを掘り下げて解説していきたいと思います。 栄えある?第一回目はViewModelLocatorです。 しょぼいと思うかもしれませんが、Prismを利用してアプリケーション開発を進める上で、重要な起点となる要素です。 本…

Prism for Xamarin.Forms入門 コラム01:PrismとDIコンテナ

さて、前回はPrism.FormsのHello, Worldの記事を書かせていただきました。 nuits.hatenadiary.jp 今回以降は、いよいよ個々のエッセンスを掘り下げて行きたかったのですが...どの話をするにしても、「なぜその機能が必要なのか?」を説明しようとすると、ど…

Prism for Xamarin.Forms入門 Hello, Prism.

前回は、Prism.Formsのイントロダクション的なエントリーを記載しました。 nuits.hatenadiary.jp 今回は実際にPrism.Formsを利用したアプリケーションをテンプレートから作成し、作成されたアプリケーションが、どのように動作しているのか解説してみたいと…

Prism for Xamarin.Forms入門 はじめに

先日(2016年8月11日)、ついに待ちに待ったPrism.FormsのStable版がリリースされました。 今まで比較的長い間Previewであったため、待ち望んでいた人も多いのではないかと思います。 私自身、PrismのWPF版を仕事でも利用しており、ありていに言ってPrismフ…

Xamarin.FormsのLabelで改行を表示する:XAML編

XAML編と言いつつ、XAML編しかありませんがw だって、C#のコードからは普通にやればいいだけなので。。。 と言う分けで、簡単に紹介しておきます。

Xamarin.FormsでReleaseビルドしたら「Could not load file or assembly~」で実行時例外がでる場合の話

昨晩、@omanukeさんがこんな記事をエントリーされました。 d.hatena.ne.jp で、これが発端でちょっと話が盛り上がったので、その結果分かった事をちょっとまとめたいと思います。

【動画】Xamarin公式Tシャツを10分で貰う方法

Xamarinの公式ブログで、Tシャツコンテストが開始されました! Xamarin+AzureのEasy Tableを使った簡単なアプリを作って、動画を公開すれば「たぶん??」誰でももらえるようです。 (確証はないので貰えなかった場合でも怒らないでね) blog.xamarin.com …

絶対わかるXamarinライセンスの判断方法

こちらはコンテンツを削除します。 以下の記事をご覧ください。 www.nuits.jp

WPFやXamarinのICommandを改めて整理する

ICommandとはなにか ICommandの概要 void Execute(object parameter) bool CanExecute(object parameter) event EventHandler CanExecuteChanged; RelayCommand・DelegateCommandとはなにか DelegateCommandの簡単な利用方法 ICommandとはなにか XAMLで発生…

XamarinのiOS Simulator for WindowsがStable Channelで利用可能になっています

表題の通りですが、2016/06/13時点でStable Channelでも利用可能になっています。 developer.xamarin.com TwitterのTLでご存じない方が何名かいらっしゃったようなので、告知?的に書いておこうかと。 Visual Studioで開発している方には非常に便利な機能な…

Xamarin.Formsでイベントに反応してCommandを実行するBehaviorを書いてみた

数日前にAyaseってIDのオータガーさんと、下のような会話をしました。 @AyaseSH TriggerでOnAppearingイベント捕まえてCommandバインディングとかじゃ上手くいかない感じですかね?それともOnAppearingの実行中の状態(始まり~終わりまで)を正確に欲しい案…

Xamarin.FormsのBindingでElementNameがない代替手段

2016.06.29追記 このエントリーの投稿後に、ElementNameとx:Referenceの気になる情報をいただきました。 いかにまとめましたので、良かったらあわせてお読みください。 nuits.hatenadiary.jp 追記終了 本来、ちゃんとMVVMしててViewModelにバインディングし…

Xamarin.FormsでSQLiteライブラリ何つかったらいいの?の自分的検討結果

Xamarin.FormsでSQLiteを利用するにあたって、色々悩んでアドバイスも貰って考えた結果をここに残しておこうと思います。 あくまで私の選択であって、ほかの人にもこれがベストな回答だとは限りませんが参考の一つになれば幸いです。