KeyDown 事件处理程序不起作用

本文关键字:不起作用 程序 事件处理 KeyDown | 更新日期: 2023-09-27 18:33:46

我正在为Windows 8.1开发一个应用程序

我正在使用 XAML + C#

我在 MSDN 中阅读了这篇文章,用于响应键盘交互

我按照他们说的做了,但问题是只有当我按下TextBox内的键时,才会发生事件

但我希望事件发生在我按下的任何地方Page

注意:我使用笔记本电脑(无触摸硬件)

XAML :

<Grid x:Name="GameGrid" Margin="0,0,0,0.111" KeyDown="Grid_KeyDown">

C# :

private void Grid_KeyDown(object sender, KeyRoutedEventArgs e)
 {
   if (e.Key == Windows.System.VirtualKey.A)
                    this.DoSomething();
 }

KeyDown 事件处理程序不起作用

尝试在网格上注册加速键而不是键事件(它必须具有焦点才能触发事件):

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.core.coredispatcher.acceleratorkeyactivated

例:

Window.Current.Dispatcher.AcceleratorKeyActivated += ...