こんにちは。エクセルソフトの田淵です。
Xamarin.Forms では、Windows ストア、Windows Phone 8.1 のアプリも作れます。
- Xamarin.Forms for Windows を使ってみた - Xamarin 日本語情報
- Xamarin.Forms for Windows Phone 8.1 を使ってみた - Xamarin 日本語情報
でご紹介していますが、プロジェクトを手動で追加して、Xamarin.Forms.Windows のライブラリを NuGet から追加で参照します。
例えば、以下のように NavigationPage を使用すると Windows Phone 8.0 では表示出来なかった画面上部のタイトルバーが追加されたりしていて使いやすくなりますので、色々と触っていました。
で、怪しいのが分かったのが TableView の SwitchCell の Data Binding です。
上半分が Editor
とその TextProperty を ViewModel 経由で Data Binding している Label
です。ここは WP80, WP81 共に問題ありません。
下半分が Switch
(TwoWay)、TableView 内の SwitchCell
(TwoWay)、TextCell
で、すべて ViewModel の Bool 値に Data Binding しています。
上記 gif の前半が標準で作成される WindowsPhone プロジェクトで問題ないのが分かるかと思います。後半が手動で追加した WindowsPhone81 のプロジェクトで Xamarin.Forms.Windows を参照しているヤツです。単体の Switch
を動かしている時は VM からの通知を受け取れていますが、一度 SwitchCell
を触ってしまうと発火しないし通知も届かなくなります。
多分 Xamarin.Forms.Windows のバグなんじゃないかな?と勘ぐっていますので、Xamarin に報告してみます。
試してみたい方は コチラ にアップしてありますので動かしてみてください。解決策が分かったぜ!ってご連絡もお待ちしていますw
Xamarin 気になった方は
是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。
以上です。