当您在HTML form
中的任意位置按 Enter 时,它会触发action
,这相当于按下submit
按钮。
如何在我按 Enter 的任何地方触发事件时制作一个窗口?
答案 0 :(得分:110)
答案 1 :(得分:6)
将PreviewKeyDown
事件分配给XAML中的窗口,然后检查代码隐藏中的KeyEventArgs
以确定用户是否按下 Enter 键。
XAML代码:
<Window
[...]
PreviewKeyDown="Window_PreviewKeyDown">
代码背后:
private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
// Whatever code you want if enter key is pressed goes here
}
}
答案 2 :(得分:0)
我发现DatePicker
控件将吞下 Enter 按键,因此默认按钮不会被点击。我写了这个事件处理程序来修复它。使用PreviewKeyUp
确保DatePicker
执行其日期格式代码,然后再点击默认按钮。
private void DatePicker_PreviewKeyUp(object sender, KeyEventArgs e) {
// event handler to click the default button when you hit enter on DatePicker
if (e.Key == Key.Enter) {
// https://www.codeproject.com/Tips/739358/WPF-Programmatically-click-the-default-button
System.Windows.Input.AccessKeyManager.ProcessKey(null, "\x000D", false);
}
}
答案 3 :(得分:0)
<Button Name="btnDefault" IsDefault="true" Click="OnClickDefault">OK</Button>
您可以通过将按钮 IsDefault 属性设置为 True 来实现。
您可以从 Microsoft 的文档中获取详细信息。