Silverlight 4、マウスホイールイベントと窓のないモード
-
28-09-2019 - |
質問
Silverlight 4アプリケーションがあり、多くのコントロールに対してネイティブマウスホイールサポートを使用することで大きなメリットがあります。アプリケーションをホストするページには、通常SilverlightコントロールにオーバーレイするHTML駆動ドロップダウンメニューがあります。
IEでは、オーバーレイメニューを正しく動作させるようにWindowlessモードを有効にする必要があります(Firefox 3.6は通常は機能しません)。ただし、Windowlessモードを有効にします Firefoxがマウスホイールイベントをサポートするのを防ぎます HTML DOMブリッジの周りに追加のコーディングなし。
どのブラウザがウィンドウレスを必要とするかを知る方法はありますか?理想的には、httpbrowsercapabilities情報を使用して、「サポートされている」ブラウザのリストをハードコードするのではなく、プロパティをTrueに設定するかどうかを決定したいと思います。
解決
Silverlight 4にはマウスホイールイベントがサポートされていますが、注意すべきルールがいくつかあります。
- IEは決して問題ではありません
- MouseWheelイベントは、ブラウザからOS Xで機能することはなく、HTML Dom In-Browserを介してのみ機能しません。
- 他のすべてのブラウザのWindowslessは、彼らが頼っているので、ノーゴーです npapi イベントを処理する。
- あなたが指摘したように、DOMからマウスホイールに到達するために、ブラウザの相互運用性機能を備えたマウスホイールを入手できます。
- HTML DOMは、フルスクリーンの場合、動作することはありません
完全な内訳については、参照してください http://msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx.
他のヒント
たぶん、DOMとMouseWheelapiの両方のイベントを内部的に検討し、共通の方法で提供する独自のMouseWehhenmanager Singletonクラスを使用できるので、コードはどちらの方法でも機能するこの単一のインターフェイスを使用できますか?
所属していません StackOverflow