如何为整个解决方案而不是单个窗口设置事件处理程序(例如 keydown
)?
最佳答案
在您的应用程序类 (App.cs) 中注册一个全局事件处理程序,如下所示:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
EventManager.RegisterClassHandler(typeof(Window), Window.KeyDownEvent, new RoutedEventHandler(Window_KeyDown));
}
void Window_KeyDown(object sender, RoutedEventArgs e)
{
// your code here
}
}
这将处理您应用中任何 Window
的 KeyDown
事件。您可以将 e
转换为 KeyEventArgs
以获取有关按下的键的信息。
关于c# - 如何在 WPF 中为所有窗口(整个应用程序)设置事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027182/