tecla press net evento detectar asp c# .net wpf icommand

evento - textbox keypress enter c# asp net



Comando para WPF TextBox que se activa cuando pulsamos Enter Key (4)

Ario, no todos los objetos WPF admiten comandantes. Entonces, si quieres hacer eso, necesitarás llamar a tu modelo de vista desde tu código (un poco acoplado) o usar alguna implementación de MVVM Messaging para desacoplarlo. Consulte el kit de herramientas de MVVM Light Messaging para ver un ejemplo. O simples disparadores de uso como este:

<TextBox> <i:Interaction.Triggers> <i:EventTrigger EventName="KeyUp"> <i:InvokeDataCommand Command="{Binding MyCommand}"/> </i:EventTrigger> </i:Interaction.Triggers> </TextBox>

Es muy fácil vincular Button s en aplicaciones WPF a Command s en una clase VIEWMODEL . Me gustaría lograr un enlace similar para un TextBox .

Tengo un TextBox y necesito vincularlo a un Command que se activa cuando presiono Enter mientras el TextBox está enfocado. Actualmente, estoy usando el siguiente controlador para el evento KeyUp , pero se ve feo ... y no puedo ponerlo en mi clase VIEWMODEL .

private void TextBox_KeyUp(object sender, KeyEventArgs e) { if (e.Key == System.Windows.Input.Key.Enter) { // your event handler here e.Handled = true; MessageBox.Show("Enter Key is pressed!"); } }

¿Hay una mejor manera de hacer esto?


He enfrentado el mismo problema y he encontrado una solución here , aquí está el ejemplo del código:

<TextBox> <TextBox.InputBindings> <KeyBinding Command="{Binding Path=CmdSomething}" Key="Enter" /> </TextBox.InputBindings> </TextBox>


Me gusta la respuesta de Sarh, pero no funcionaría en mi programa, a menos que cambiara Enter por Return :

<TextBox> <TextBox.InputBindings> <KeyBinding Key="Return" Command="{}" /> </TextBox.InputBindings> </TextBox>


Puede establecer verdadero en la propiedad AcceptReturn.

<TextBox AcceptsReturn="True" />