2011-09-15 17 views
6

Tengo una solicitud de función para capturar la clave F5 y actualizar el contenido dentro de una aplicación de Silverlight en lugar de hacer que el navegador actualice toda la aplicación. En una aplicación simple, intenté conectar el evento KeyDown y nunca llega con F5.¿Es posible capturar F5 en una aplicación de Silverlight?

¿Esto es algo que se puede hacer en Silverlight?

+0

Salida éste: [http://stackoverflow.com/questions/3456591/silverlight-4-detect-browser-f5-refresh-and-x-close][1] [1]: http://stackoverflow.com/questions/3456591/silverlight-4-detect-browser-f5-refresh-and-x-close –

Respuesta

3

El navegador obtiene todas las teclas presionadas primero y determina si las pasará al contenido alojado (Silverlight) o no. AFAIK no hay forma de detener una actualización cuando se presiona F5, ya que siempre será manejado por el navegador.

Puede utilizar javascript para detectar la pulsación de tecla y pasarla a SL, pero estoy bastante seguro de que eso no impedirá que el navegador se actualice.

1

Encontré this post que muestra cómo hacerlo en javascript. Lo probé y funciona (IE9) ... a menos que tengas el foco en la aplicación Silverlight :-). Este SO post es similar, pero todavía no tiene una solución.

Después de probar eso, estoy de acuerdo con @Phil, que detener el refresco probablemente no sea posible, al menos para IE.

0

Si el cliente está dispuesto a dejar su código para que a su navegador entonces tal vez usted puede persuadirlos para instalar la aplicación fuera del navegador donde se puede tener un control mucho mayor de navegación

Cuestiones relacionadas