我正在尝试检测我的c# uwp应用程序中的按键,但是没有触发enter键按下事件。我已经将KeyUp事件添加到主窗口,除enter和空格键外,所有键盘键都会触发该事件。对如何检测回车键有什么想法吗?我为检测标记中XAML中的按键而添加的行是KeyUp="MainPg_KeyUp“。
发布于 2018-12-16 03:32:50
KeyDown事件不会触发系统处理的密钥。您必须使用PreviewKeyDown事件。
https://learn.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)
{
}
}发布于 2018-12-16 01:58:57
我会用键盘加速器。例如,当用户点击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>您也可以将这些放在页面级别上,但是您必须在代码后面放置一个事件处理程序。这里是关于键盘加速的更多信息。
https://stackoverflow.com/questions/53797923
复制相似问题