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