夏休みにSilverlightで遊んでみた。Windows Phone向けウェザタイに向けて,って感じ。
なんだけど,やろうとすることがことごとくSilverlightではサポートされてなくて思った以上に苦労する。WPFなら楽なんだろうけど,Windows Phoneで動くようにするとなるとSilverlightだよね,ってことで。
まずXAMLからのリソース使用。WPFと同じようにresxに文字列を定義してXAMLからStaticResourceで表示しようとしたが,Silverlightではサポートされていない。そのためProperties.Resourcesをラップしたプロパティを作成してBindingで文字列を表示することに。でもそれだとExpression Blendでデザイン時に表示されないのでXAMLでインスタンス化。MSDN Magazineのこの辺を参考にした。
次に困ったのが背景のスクロール。画像のタイル表示はSilverlightではサポートされていないので画像をキャンバスに貼り付けて複数配置。次にThicknessAnimationがSilverlightではサポートされていないのでDoubleAnimationで中継。ここまでやってみたけどかなり重い。
とりえずAndroid版のタイトル画面をほぼそのまま再現してみた。タイトル画面。Silverlightだからもっと凝った画面にできるけどまだいいか。このままでも画面サイズを変更したいという要望はクリアできて,横長にすればある程度長い文字列も打てる,のかな。ちなみにMacでも実行可能だし,moonlightを使えばLinuxでも実行可能。