2014-04-25 13 views
8

Sono nuovo nell'utilizzo di WPF quindi non ho idea di come rilevare il tempo di inattività e mostrare la finestra principale dopo 5 minuti di inattività.Rilevamento inattivo in WPF

Qualcuno può aiutarmi? Grazie mille.

+0

è necessario mantenere un timer per il tuo WPF app .. che viene reimpostato Whwnever si verifica ogni caso .. thats come è possibile rilevare il tempo di inattività per la vostra applicazione – spetzz

risposta

4

È possibile eseguire;

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

raccolto da here

+0

Come sarebbe il timer essere resettato quando un utente interagisce con l'applicazione? – Clemens

+0

Buon punto. forse ricreare il timer come risultato di Window.Avento di attivazione attivata. Quindi quando l'utente porta a fuoco si resetta. Oppure crea l'ora e fermati e avvialo su Attivato. Forse usa 'InputManager.Current.PreProcessInput' e ripristina il gestore per questo – owen79

+3

Un'implementazione più completa sullo stesso principio è qui http://stackoverflow.com/a/4970019/2046117 – owen79

Problemi correlati