如何在WPF中创建提交按钮?

时间:2010-11-16 13:13:10

标签: wpf submit keypress

当您在HTML form中的任意位置按 Enter 时,它会触发action,这相当于按下submit按钮。 如何在我按 Enter 的任何地方触发事件时制作一个窗口?

4 个答案:

答案 0 :(得分:110)

将按钮上的IsDefault属性设置为true以启用 Enter 键以激活该按钮的操作。还有IsCancel属性对 Escape 键执行相同的操作。

答案 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 的文档中获取详细信息。

Button.IsDefault Property