WindowsPhone8からWindows8.1 universalにコードをコピペしたらクソはまった話

愚痴です。 UserControlを作ってそのプロパティにデータをbindすることはたくさんあると思いますが、WindowsPhone8用に書いてたプロジェクトからWindows 8.1 Universal (Phone/Windows)のプロジェクトにコードをコピペしたらドはまりした愚痴です。 PropertyMetadataのコンストラクタのオーバーロードが、PhoneとUniversalで違っているっぽいです。MSDNのページには記載が見当たりませんが、PropertyChangedCallback 1引数のみのコンストラクタがUniversalには無くなっています。 Windows Phone 8 project (VS2012)   Windows 8.1 universal project (VS2013)     なんやこれ。 もともとWP8アプリで2 of 3のコンストラクタを使っていたぼくは思いっきりコードをコピペして2時間くらい悩んでいたのですが、1引数で渡していたCallbackがいつのまにかデフォルト値になっていただけだったのでした。せめてPropertyChangedCallbackをintにキャストした段階でException投げてくれよ。。。。 つらかった。 真に型安全な世界を探して生きていきたいです。

Read more

UserControlのプロパティに値をBindingする

BindingとUserControlはとても便利なのであわせてWPアプリ開発でも使いたいところ。詰まったところをメモしておきます。どうでもよいですがWindows関係は、.NETで使えるのかSilverlightで使えるのかStore appで使えるのかPhoneで使えるのかぱっと見分からない情報が多くて困りますね。なおWP8に関する日本語の情報はほぼ存在しない模様。

Read more