trapemiyaの日記

hatenablogが新しくなったんで新規一転また2019年1月からちょこちょこ書いてます。C#中心のプログラミングに関するお話です。

MvvmCrossでバインドできない

さて、いい加減やばいわけで、何が? というと、Androidアプリ開発なわけで。
ちゃんとやるにはやっぱりMVVMだよねってことで、流行に逆らわずMvvmCrossを導入。
ネットを漁ると、今は簡単に導入できる模様。ありがとう、NuGet!

というわけで、楽勝で動作するはず。と、思いきや、なぜかデモの"Hello MvvmCross"が表示されない。
エラーも何もでないんだよね。雰囲気としてはバインド機構が働いていない感じ。エミュレーターのXamarin Android Playerがおかしいかと思い、Windowsストアアプリでも試してみたけど、全く同じ状況。
何度見なおしても手順にミスはない。
さすがに、何で? 困りました。そう、今日一日潰しました・・・

で、結局のところ、Androidのプロジェクトにある、MainActivity.csの、Activityアトリビュートに指定してある、MainLauncher = trueに原因があった。
こいつをfalseにしたら、あっさり動いた。
これも確信があったわけじゃなく、手順に間違いがなければ、なんかMvvmCrossの邪魔をしてるものがないか?っていう発想で想像して試したら、たまたま当たったっていう感じでした。
で、このActivityのリファレンスは、

Android.App.ActivityAttribute Members
http://androidapi.xamarin.com/?link=T%3aAndroid.App.ActivityAttribute%2f*

で、原因はよくわかりません(^^; 詳しい方、コメントしていただけるとありがたいです。

ちなみに環境は、

Microsoft Visual Studio Ultimate 2013 Version 12.0.31101.00 Update 4
・Xamarin.Android 4.20.0.28 Visual Studio plugin to enable development for Xamarin.Android.

です。

#さぁ、ようやくスタートラインに立てました。