ページ

2009年4月22日水曜日

[Silverlight] Siverlight 3 の Out of Browser だとマウスホイールが捕捉できない?

昨日の 「[Silverlight] Silverlight 3 の Out of Browser とアセンブリ・キャッシングは混ぜて使えない (beta 1)」 を試してたときに気付きました。
試したソースが Silverlight.FX を使ってマウスホイールを使えるようにした DataGrid だったんですが、Out of Browser にするとマウスホイールが効かなくなってました。
考えてみると当然で、Silverlight.FX も特殊なことをやってるわけではなくて、内部では HtmlPage.Window.AttachEvent(“onmousewheel”, OnMouseWheel); なんて感じで HTML のイベントにアタッチしています。
Out of Browser では名前の通りブラウザの外なので HTML もありません。
どうなるのか確認してはいませんが、きっと AttachEvent なんかは無視されているんでしょう。
ですから当然 onmousewheel イベントなんかも無いわけで、マウスホイールなどを捕捉できないわけです。

って、こりゃどうしたらいいんだ?
今どき、マウスホイールを使えないアプリなんて考えられないんだが。

まったく誰も気づいてないなんてことは考えられないので検索してみた。
OUT-OF-BROWSER EXPERIENCES
↑で Bigsby さんが 「Silverlight 3 でのマウスホイールについては聞いたことないけど、Out of Browser のときにスクリプトのイベントはどうなるの?」 みたいなことをコメントしています。
それに対して heuertk さんが 「マウスホイールのネイティブサポートは無い予定だけど、プロジェクトにドロップして使えるヘルパクラスライブラリを用意する」 みたいな返事をしています。
この heuertk さんって Method ~ of ~ failed の Tim Heuer さんですね。(About Me を見ればわかりますが、Silverlight のプログラムマネージャの方)

というわけで、beta 1 では Out of Browser するとマウスホイールが使えませんが、そのうちにはちゃんと使えるようになるみたいです。


0 件のコメント:

コメントを投稿