nuits.jp blog

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

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

唐突ですがみなさん、Xamarin.Forms.GoogleMaps使っていますか?

github.com

私は使っているというか、使おうとしてちょっと疑問があって質問して見たら、なんだかこんな流れでBinding拡張ライブラリの作成を請け負うことになりました。

というわけで、作成してリリースしました。
おかげで肝心のアプリはまだほとんど未着手ですw

このライブラリは大きくは以下の3つの機能を提供します。

  1. Binding非対応プロパティ用をViewModelへBindするBehavior
  2. 各種イベント発生時にCommandを実行するBehavior
  3. ViewModelから、Mapの表示位置を移動するための仕組み

というわけで、よかったら使ってあげてください。
簡単な利用方法は以下にまとめてあります。

github.com

何かあればコメントか、Twitterへメンションいただけたら対応します。
使っていただけると喜びます。

それではまた!

Microsoft MVP アワードを初受賞しました!

この度めでたく、Visual Studio and Development TechnologiesカテゴリーでMicrosoft MVP アワードを受賞致しました!やったぜ!!

こういう書き方をすると、何だか定型文見たいですがそれでもやはり書かずにはいられませんでした。

今年一年、私の活動を見守り、助けてくださった皆さんのおかげです。
そして、仕事に加えて仕事以外の時間も外に出て活動することで、家庭の時間が削られる中、それでも私を支えてくれた妻のおかげです。
言う側になってみないと分からないことってあるんですね。あぁ、こう言う気持ちで言っていたのかって。
全て心からの言葉です。

ありがとうございました。

さて、ここで筆を置いても良かったのですが、今年後半になって色々あったのでもう少しだけ書かせていただきたいと思います。

続きを読む

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

どうも、いまだかつてXamarinでアプリを一本も完成させたことのない初心者です。

本エントリーは[学生さん・初心者さん大歓迎!]Xamarin Advent Calendar 2016の12日目のエントリーとして投稿しました。

前日はbetatさんグッとくる Xamarin Studio のショートカット・小技集
翌日はaki_lua87さん[Xamarin.Forms]各プラットフォーム固有機能からFormsで作成したViewを表示するです!

という訳で、今回はPrism for Xamarin.FormsでNavigationPageを利用して画面遷移を実装した場合の、詳細な情報を調査してみました。
正確な情報を整理するのに、結構苦労させられた力作ですので、しばらくお付き合いください。

なお本エントリーは連載記事「Prism for Xamarin.Forms入門」の一部となっております。
以下に目次がありますので、他のエントリーもご覧いただけると嬉しいです。

Prism for Xamarin.Forms入門 目次 - nuits.jp blog

続きを読む

MSDN付属のXamarin Studioライセンスの有効化方法

なんだか、Xamarin StudioでライセンスがExpireされまくっているようで少し調べてみました。
なお、私は「そういうもんだ」と思っていて、Communityのまま使っていた(ライセンスはEnterprise持ってます)ので、有効だった人がこの方法で復活できるかどうかわかりません(´・ω・`)

またこの辺りはすぐに変わる可能性がありますので、お気を付けください。
本エントリーは2016.12.27に記載しています。

続きを読む

【Xamarin.Forms】ListViewで行選択時に処理を実行する、たった一つの冴えたやり方?

2017.07.08 書いていた記事がなんだか全面的に誤っていたことに気が付いたのでリライトします。

ListViewで行が選択されたとき、それをコマンドに渡しつつ選択された行をクリアする最も冴えたやり方は次の通りでした。

  1. ListViewのSelectedItemをハンドルする
  2. その際に渡されるSelectedItemChangedEventArgsのSelectedItemプロパティをCommandに渡す
  3. その後、ListViewのSelectedItemをクリアする

クリアする際に、SelectedItemイベントが再度飛んでくるので、変更後のプロパティがnullだったら即リターンするようにするのがポイントです。
これをBehaviorにするといいでしょう。
コードはこんな感じになります。

ただ、これだけだと親のBindingContextが変わったときに正しく動かなかったりするので、以下のライブラリに含まれているので使うといいと思います(ダイマ!

www.nuget.org

まぁ、その辺をちゃんと対応したコードも公開しているので、そちらを使っていただいてもよいでしょう。

github.com

以下、下記の恥ずかしい残骸を一応残しておきます。

続きを読む