未检测到UWP Enter键

时间:2018-12-15 22:52:09

标签: uwp uwp-xaml keyup

我正在尝试检测我的c#uwp应用程序中的按键,但是未触发enter键按下事件。我已经将KeyUp事件添加到主窗口中,并且所有回车键和Enter键和空格键都被触发。关于如何检测回车键的任何想法?我添加的用于检测标记中XAML中的按键操作的行是KeyUp =“ MainPg_KeyUp”

2 个答案:

答案 0 :(得分:0)

我会使用键盘加速器。例如,当用户按下Enter键时,我想调用按钮单击。代码为:

<Button Content="Invoke Me!">
    <Button.KeyboardAccelerators>
        <KeyboardAccelerator Key="Enter" />
    </Button.KeyboardAccelerators>
</Button>

您还可以使用alt,ctrl或shift之类的修饰符以及诸如此类的键:

<Button Content="Save">
    <Button.KeyboardAccelerators>
        <KeyboardAccelerator Key="S" Modifiers="Control" />
    </Button.KeyboardAccelerators>
</Button>

您也可以将它们放置在页面级别,但是必须在后面的代码中放置事件处理程序。 Here是有关键盘加速的更多信息。

答案 1 :(得分:0)

KeyDown事件不会触发系统处理的键。您将必须使用PreviewKeyDown事件。

https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.uielement.previewkeydown

<TextBox PreviewKeyDown="eventhandler"/>

 private void eventhandler(object sender, KeyRoutedEventArgs e)
 {
     if(e.Key == VirtualKey.Enter)
     {
     }
 }