Pregunta

Tengo una aplicación Silverlight 4 que los beneficios enormemente de tener soporte de la rueda del ratón nativo para un número de controles. La página que aloja la aplicación tiene un HTML impulsada por menú desplegable que normalmente superponer el control de Silverlight.

En IE, que tiene que habilitar el modo sin ventanas para permitir correctamente el menú superpuesto al trabajo (Firefox 3.6 funciona normalmente sin ella). Sin embargo, activar el modo sin ventanas impide Firefox desde el apoyo a la rueda del ratón eventos sin necesidad de programación adicional alrededor del puente HTML DOM.

¿Hay alguna manera de saber qué navegadores requerirá sin ventanas, y que funcionará sin él? Idealmente, me gustaría utilizar la información HttpBrowserCapabilities para decidir si o no para establecer la propiedad en true, en lugar de codificar una lista de los navegadores de los soportados.

¿Fue útil?

Solución

Silverlight 4 tiene soporte para eventos de rueda del ratón, pero hay una serie de reglas para ser consciente de:

  1. IE no es un problema
  2. eventos mouseWheel nunca funcionan en OS X fuera del navegador, y sólo a través del DOM HTML en el navegador.
  3. Windowsless en todos los otros navegadores es un no-ir porque se basan en NPAPI para eventos mango .
  4. Usted puede obtener la rueda del ratón con la interoperabilidad funciones del navegador para llegar a la rueda del ratón desde el DOM como usted señaló.
  5. HTML DOM nunca funcionará cuando la pantalla completa

Para ver un desglose completo http: // msdn.microsoft.com/en-us/library/dd759034(v=vs.95).aspx .

Otros consejos

Tal vez usted podría utilizar su propio MouseWehhenManager Singleton clase que considera internamente eventos tanto DOM y MouseWheelAPI y les proporciona en una forma común, por lo que su código puede usar esta interfaz única que funciona en ambos sentidos?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top