Silverlightを用いてWindows サイドバーガジェットを作成したのですが
最初動かしたときにあまりにもおかしくてびっくりしました。
シングルクリックでフォーカスが当たって、
ダブルクリックでボタン押下イベント発生なんて。。
結局これはiframeにSilverlightのオブジェクトを埋め込んだら治りました。
なぜだか。
そしてSilverlightでのXAPの指定の仕方も
ガジェットだと特別なのです。
“x-gadget:///”をつけないと動いてくれません。
なぜだか。
なので下記のように設定します。
<div id=”silverlightControlHost”>
<object data=”data:application/x-silverlight,”
type=”application/x-silverlight-2″
width=”130″ height=”163″
>
<param name=”source” value=”x-gadget:///foo-sl.xap”/>
<param name=”onerror” value=”onSilverlightError” />
<param name=”background” value=”#00000000″ />
<param name=”minRuntimeVersion” value=”2.0.31005.0″ />
<param name=”autoUpgrade” value=”true” />
<param name=”initParams” value=”reportErrors=errorLocation,GADGET_ENGINE=vista” />
<param name=”windowless” value=”true” />
<a href=”http://go.microsoft.com/fwlink/?LinkID=124807“
style=”text-decoration: none;”
>
<img src=”http://go.microsoft.com/fwlink/?LinkId=108181“
alt=”Get Microsoft Silverlight” style=”border-style: none”
/>
</a>
</object>
<iframe style=’visibility:hidden;height:0;width:0;border:0px’></iframe>
</div>