Question

J'ai une application Silverlight 4 qui bénéficie grandement d'avoir le support de roue de souris natif pour un certain nombre de contrôles. La page qui héberge l'application dispose d'un menu déroulant HTML qui conduit normalement superposer le contrôle Silverlight.

Dans IE, je dois activer le mode sans fenêtre pour permettre le menu de superposition correctement le travail (Firefox 3.6 fonctionne normalement sans lui). Cependant, l'activation du mode sans fenêtre empêche Firefox de soutenir la roue de la souris événements sans codage supplémentaire autour du pont DOM HTML.

Est-il possible que je peux dire quels navigateurs exigera sans fenêtre et qui fonctionnera sans elle? Idéalement, je voudrais utiliser les informations HttpBrowserCapabilities pour décider si oui ou non définir la propriété sur true, plutôt que de coder en dur une liste des navigateurs pris en charge « ».

Était-ce utile?

La solution

Silverlight 4 supporte les événements de molette de la souris, mais il y a un certain nombre de règles à connaître:

  1. IE est jamais un problème
  2. événements mouseWheel jamais de travail sur OS X de navigateur, et seulement via le DOM HTML dans le navigateur.
  3. Windowsless dans tous les autres navigateurs est un non-droit parce qu'ils comptent sur NPAPI aux événements poignée .
  4. Vous pouvez obtenir le Mousewheel avec l'interopérabilité des fonctions du navigateur pour se rendre à l'mousewheel du DOM que vous CONTRAIRE.
  5. HTML DOM ne fonctionnera jamais si plein écran

Pour plus de détails voir http: // msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx .

Autres conseils

Peut-être que vous pouvez utiliser votre propre MouseWehhenManager singleton classe qui prend en compte à la fois en interne les événements DOM et MouseWheelAPI et leur fournit de manière commune, de sorte que votre code peut utiliser cette interface unique qui fonctionne de toute façon?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top