読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

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は、まだ枯れた技術ではないので最新版を使うのがやっぱりよさそうですね。