拦截每次鼠标点击WPF应用程序

nma*_*ler 8 c# wpf

我想在我的WPF应用程序中拦截每次鼠标点击.看起来这应该很容易使用命令路由机制,但抱歉,我找不到任何东西.

我的应用程序实现了多个安全级别,如果没有人在x分钟内与应用程序交互(点击),则需要自动恢复到最严格的级别.我的计划是添加一个在x分钟后过期的计时器并调整安全级别.每次鼠标点击进入应用程序将重置计时器.

Lou*_*ann 19

您可以注册一个类处理程序:

public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            EventManager.RegisterClassHandler(typeof(Window), Window.PreviewMouseDownEvent, new MouseButtonEventHandler(OnPreviewMouseDown));

            base.OnStartup(e);
        }

        static void OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            Trace.WriteLine("Clicked!!");
        }
    }
Run Code Online (Sandbox Code Playgroud)

这将处理PreviewMouseDown在应用程序中创建的任何窗口上的任何事件.