Silverlight2.0を用いたWindows サイドバーガジェット

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>

Windows サイドバーガジェットでの設定画面について

Windows サイドバーガジェット、Opera ウィジェット、
Mac OS X Dashboard ウィジェット、Adobe AIR、iGoogle ガジェット、
Google デスクトップ ガジェット、Yahoo!ウィジェットと
結構多種にわたってガジェットを作成しているのですが
Windows サイドバーガジェットだけ設定画面は
別HTMLで行うことを推奨しているんですよね。
なるべく同じファイルで複数ガジェットプラットフォームで動くものを
作ろうとしたのでこれで苦労しました。
結局はiframeに設定ファイルを埋め込んで行っているのですが
同じwindowでないとうまく動かなかったりして。
今後は設定画面もメイン画面とおなじHTMLにして
Windows サイドバーガジェットだけは別にする方が苦労しなさそうです。

卒業

2009/03/04(水)に長渕剛のニューシングル”卒業”が発売されます。
なかなか良い唄に仕上がってます。
それよりもその先にあるアルバム、ライブのほうがより楽しみですが。