JXUGC #17 お前の Xamarin アプリを見せてみろ! - connpass に参加、登壇してきました。
Xamarin DataPages をネタにしましたが、今回は本当に準備が不足してすいませんでした。何かをでっちあげることしかできませんでした。
他のみなさんのアプリや発表、完成度が高くて脱帽です。
一応、資料はこちら。
ソースもあります。(Xamarinのリポジトリから切り取ってきた DataPages 関連のプロジェクト付き)
今回の参加は、たまには東京の人たちにも会いたいなーという動機、それから Xamarin.Forms.GoogleMaps の PR が目的でして。。。
DataPages にそこまで期待しているわけじゃないけど、標準機能でできることが少ないなら Xamarin.Forms.GoogleMaps みたく、Fork して機能拡張しちゃえばいいやと軽い気持ちでソースを除いてみたのですが、うーむ分からん。
Xamarin.Forms.Pages.DataPage
を継承したクラスに ListDataPage
というものがあって、これは与えられたデータソースを元に一覧画面を生成してくれます。更に、行を選択すると詳細画面も表示してくれます。
ならば同じく DataPage
を継承して MapDataPage
を作ったら、一覧の代わりに地図にピン群が立つ画面を用意できるのでは?そんでピンをタップしたら詳細画面を表示できるのでは?と思ったのですが・・・。
MapDataPage
を用意することはできました。データソースを元に地図にピン群を立たせることはできました。
しかし、詳細ページを表示する方法が分かりませんでした。
もうちょっと詳しく言うと、ListDataPage
で行を選択したときに DataTemplate.CreateContent()
を呼び出していて、その返値が詳細画面となる Page
なのですが、 この DataTemplate
がよく分からない。
ListDataPage.DetailTemplateProperty
への設定はいつだれが行っている? DataTemplate は Xamarin.Forms.Core のソースなので、ちゃんとデバッグ環境作ればトレースできたかもしれません(だから Xamarin.Forms.Themes は関係ないかも知れない)が、ちょっと時間なく。。。
この辺りの仕組みが分かれば、詳細画面で、
などのカスタマイズもできると思うので、引き続きソースおっかけてみたいと思います。
JXUG イベント多すぎだろ!と思いつつ、数回に1回は行きたいなーと思っているので、またよろしくおねがいします。
最後に、「喫茶店で朝¥500円以上払ったらそれはモーニングサービスとは言わない」これはガチ。