2014-04-25 14 views
8

Jestem nowy w korzystaniu z WPF, więc nie mam pojęcia, jak wykryć czas bezczynności i pokazać główne okno po 5 minutach stanu bezczynności.Detekcja bezczynności w WPF

Czy ktoś może mi pomóc? Dziękuję bardzo.

+0

trzeba utrzymać czasomierza dla aplikacji WPF .. Który się zresetować Whwnever wystąpi zdarzenie .. to jak można wykryć czas bezczynności dla aplikacji – spetzz

Odpowiedz

4

Możesz zrobić;

var timer = new DispatcherTimer 
    (
    TimeSpan.FromMinutes(5), 
    DispatcherPriority.ApplicationIdle,// Or DispatcherPriority.SystemIdle 
    (s, e) => { mainWindow.Activate(); }, // or something similar 
    Application.Current.Dispatcher 
    ); 

odebrał od here

+0

Jak by timer być resetowany, gdy użytkownik wchodzi w interakcję z aplikacją? – Clemens

+0

Dobra uwaga. może odtworzyć timer w wyniku aktywacji zdarzenia Window.Activated. Następnie, gdy użytkownik ustawi ostrość, resetuje się. Lub stwórz czas i po prostu zatrzymaj się i uruchom go na Aktywowanym. Może użyć 'InputManager.Current.PreProcessInput' i zresetować w programie obsługi dla tego – owen79

+3

Bardziej kompletna implementacja na tej samej zasadzie jest tutaj http://stackoverflow.com/a/4970019/2046117 – owen79

Powiązane problemy