C# WPF中的空闲检测

C# WPF中的空闲检测,c#,wpf,idle-timer,C#,Wpf,Idle Timer,我在使用WPF方面是新手,所以我不知道如何检测空闲时间并在空闲5分钟后显示主窗口 有人能帮我吗?非常感谢。你能做到 var timer = new DispatcherTimer ( TimeSpan.FromMinutes(5), DispatcherPriority.ApplicationIdle,// Or DispatcherPriority.SystemIdle (s, e) => { mainWindow.Activate(); }, // or som

我在使用WPF方面是新手,所以我不知道如何检测空闲时间并在空闲5分钟后显示主窗口

有人能帮我吗?非常感谢。

你能做到

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

获取您需要为WPF应用程序维护计时器。。无论何时发生任何事件,都会重置。。这就是如何检测应用程序的空闲时间。当用户与应用程序交互时,如何重置计时器?这一点很好。可能由于Windows.Activated事件触发而重新创建计时器。然后,当用户进入焦点时,它会重置。或者创建时间,然后停止并启动它。也许可以使用
InputManager.Current.PreProcessInput
并在处理程序中重置,这是一个基于相同原理的更完整的实现,谢谢。我试试这个。