2009-12-23 18 views
6

¿Alguien sabe de una manera eficiente de detectar la inactividad del usuario en una aplicación de Silverlight? La idea es que cada vez que un usuario interactúa con la aplicación de alguna manera un temporizador se vuelva a cargar. Cuando caduque, aparecerá un cuadro de diálogo "continuar trabajando ..." durante un período y la página se redirigirá a/Logout.¿Cuál es la mejor forma de detectar la inactividad del usuario en una aplicación Silverlight?

El problema es la detección de inactividad. ¿Pensamientos?

+0

¿Alguien sabe esto? ¡Realmente quiero hacer exactamente esto! – Jordan

Respuesta

2

Puede necesitar mantener un DispatcherTimer con un tiempo transcurrido de 100 ms (o más) y almacenar el tiempo de actividad del usuario (DateTime.Now desde un nivel RootWindow PreviewMouseDown) y seguir comprobando que en el DispatcherTimer contra su tiempo de inactividad predefinido .

Actualización: Debido a que PreviewEvents no está en Silverlight, debe escribir su propia lógica en el sistema de entrada de su aplicación de la manera que usted desee. Pero WPF tiene previewEvents por lo que será fácil monitorear la actividad en WPF que Silverlight.

+0

No creo que tengamos un PreviewMouseDown en Silverlight. Por favor, avíseme si me equivoco. – caryden

+0

sí, tienes razón. Silverlight no admite Tuneling de eventos. Así que estoy equivocado al respecto, por lo que necesita tener su monitor de actividad de entrada con un clic del mouse o entrada de teclado, etc. –

Cuestiones relacionadas