tecla saltar presionar presionando net keypresseventargs con como cambiar asp activar c# silverlight silverlight-2.0

saltar - tecla enter en c#



Presionando Enter en TextBox en Silverlight (5)

Creo que esa es la forma de atrapar Key.Enter.

Además, su código será más legible si utiliza el evento KeyDown en lugar del evento KeyUp.

Si solo te interesa capturar Key.Enter para un solo control, entonces tu enfoque es correcto.

También puede capturar la clave. Ingrese para un grupo de controles relacionados utilizando el evento KeyDown de su contenedor ("Event Bubbling").

Estoy trabajando en una aplicación Silverlight que necesita para ingresar información en un cuadro de texto y luego presionar enter. Bueno, no hay ningún evento onclick que pueda encontrar, así que lo que hice fue usar el evento onkeypressup y verificar si era la tecla enter que se presionó, si es así, bla.

Simplemente parece que hay una mejor manera de hacer esto. Entonces la pregunta es, ¿hay?


Bueno, estoy muy nuevo en Silverlight y creé HitEnter beahaviour para botón que tiene un botón DependencyProperty.

Y puedo cablear botones y comportamientos (en el código de detrás) y luego cuando se pulsa Intro, me aparece el comando del botón.


Esto funcionará si lo utiliza desea vincular la propiedad Command en lugar de utilizar el evento Click. Comience por crear un controlador de eventos para Click (ver abajo) y luego en KeyUp do:

private void MyTextBox_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) SomeButton_Click(this, null); } private void SomeButton_Click(object sender, RoutedEventArgs e) { ICommand cmd = SomeButton.Command; if (cmd.CanExecute(null)) { cmd.Execute(null); } }


Utilizo la siguiente implementación cuando uso el patrón de comando:

private void MyTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { BindingExpression b = MyTextBox.GetBindingExpression(TextBox.TextProperty); if (b != null) b.UpdateSource(); ICommand cmd = SomeButton.Command; if (cmd.CanExecute(null)) cmd.Execute(null); } }

Cuando presiona Entrar, el origen de datos del cuadro de texto no se actualiza y el comando usa un valor anterior. Por lo tanto, debe llamar a UpdateSource antes de ejecutar el comando.

Por supuesto, puedes ver el evento en un nivel más alto que el cuadro de texto.


¿Realmente lo quieres en el cuadro de texto? Pondría un controlador onkeyup en el contenedor (por ejemplo, Grid, Canvas) para presionar el botón en cualquier parte del formulario.