かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

Microsoft Azure Mobile AppsのQuickstartのTodoアプリがUWP版だと例外で落ちることがある

追記
Xamarin.Forms 2.3.3系が正式リリースになったので、記事の内容をアップデート

最近、Microsoft Azure Mobile AppsでQuickstartのTodoアプリのひな型にUWPが追加されました。 小躍りするくらいうれしいことなのですが、このTodoアプリですが追加した複数Todoを追加したあとに一番末尾のTodoをクリックしてCompletedにすると落ちるという残念なやつだったりします。(2016/11/18現在)

確認してみると、ItemSelectedイベントで最後の要素を選択してるときに、今のリストサイズよりも小さい要素数のコレクションをItemsSourceに設定すると落ちるみたいです。最小プロジェクトを作って再現することを確認しました。 Xamarin.Formsのバグですね。

解決方法

バグレポートまでは見つけてませんが、既知の問題だったらしく。Xamarin.Formsのバージョンを最新の安定板にアップすることで解決します。 (デフォルトでは2.0.xが設定されてる)

しかし

2.3.2系にすると、今度はダイアログが二度表示されてしまうという問題に遭遇しました。 これも既知のバグっぽくて、最新のプレリリースの2.3.3にするとちゃんと動くようになります。

ということでプレリリースを含めるにチェックを入れてXamarin.Formsをアップデートしてしまいましょう。

2.3.3系が正式になったので不要になりました。

まとめ

Xamarin.Formsは、まだ枯れた技術ではないので最新版を使うのがやっぱりよさそうですね。