2009-12-23 5 views
6

Kennt jemand eine effiziente Möglichkeit, Benutzerinaktivität in einer Silverlight App zu erkennen. Die Idee ist, dass jedes Mal, wenn ein Benutzer auf irgendeine Weise mit der App interagiert, ein Timer neu geladen wird. Wenn es abläuft, wird ein Dialog "weiterarbeiten ..." für einen Zeitraum angezeigt und die Seite würde zu/Abmelden weitergeleitet.Wie erkennt man die Inaktivität eines Benutzers in einer Silverlight App am besten?

Der Fehler erkennt Inaktivität. Gedanken?

+0

Wer kann das herausfinden? Ich möchte wirklich genau das tun! – Jordan

Antwort

2

Möglicherweise müssen Sie einen DispatcherTimer mit einer verstrichenen Zeit von 100 ms (oder mehr) speichern und die Benutzeraktivitätszeit (DateTime.Now von einer RootWindow-Ebene PreviewMouseDown) speichern und dies im DispatcherTimer gegen Ihre vordefinierte Inaktivitätszeit überprüfen .

Update: Da PreviewEvents nicht in Silverlight enthalten sind, müssen Sie Ihre eigene Logik auf das eigene Eingabesystem Ihrer Anwendung schreiben. WPF verfügt jedoch über previewEvents, sodass es einfacher ist, die Aktivität in WPF zu überwachen als silverlight.

+0

Ich glaube nicht, dass wir ein PreviewMouseDown in Silverlight haben. Bitte lassen Sie mich wissen, wenn ich mich irre. – caryden

+0

ja du hast Recht. Silverlight unterstützt kein Tunneln von Ereignissen. Damit liege ich falsch, Sie müssen also Ihren Aktivitätsmonitor per Mausklick oder Tastatureingabe überwachen. –

Verwandte Themen