detectar wpf submit keypress

wpf - detectar - on key pressed c#



¿Cómo hacer un botón de enviar en WPF? (3)

Cuando presiona Intro en cualquier lugar de un form HTML, activa su action , que es equivalente a presionar el botón submit . ¿Cómo hacer una ventana que cuando presione Entrar en cualquier lugar activará un evento?


Asigne el evento PreviewKeyDown a la ventana en XAML y luego verifique KeyEventArgs en el código para determinar si el usuario presionó la tecla Intro .

Código XAML:

<Window [...] PreviewKeyDown="Window_PreviewKeyDown">

Código detrás:

private void Window_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { // Whatever code you want if enter key is pressed goes here } }


Descubrí que el control DatePicker tragará la tecla Intro para que no se haga clic en el botón predeterminado. Escribí este controlador de eventos para arreglar eso. Use PreviewKeyUp para asegurarse de que DatePicker realice su código de formato de fecha antes de hacer clic en el botón predeterminado.

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); } }


Establezca la propiedad IsDefault en el botón en verdadero para habilitar la tecla Intro para activar la acción de ese botón. También está la propiedad IsCancel que hace lo mismo con la tecla Escape .