visual una teclas teclado tecla que pulsadas pulsaciones presionar presionada net evento detectar capturar boton asignar c# silverlight-3.0 listbox

una - evento keypress c# tecla enter



El evento KeyDown no funciona para las teclas de flecha, Home, End, PageUp, PageDown y otras teclas similares en Silverlight (2)

Quiero anular el comportamiento de selección de elementos ListBox.

Podemos atravesar los elementos de ListBox usando las flechas hacia arriba y hacia abajo, pero quiero recorrer la lista con las teclas de flecha izquierda y derecha.

Mientras trato de agregar el evento de reducción de teclado para ListBox, muestra casi todas las pulsaciones de teclas, excepto las teclas de flecha, inicio, final y teclas similares.

Tengo el siguiente código:

private void listArtist_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { if (e.Key.ToString() == "Enter") { // Go to some page } else { MessageBox.Show(e.Key.ToString()); } }

No tengo idea de esto. Por favor ayuda.

Gracias, Subhen



Lo que debe hacer es crear una subclase ListBox y anular la función OnKeyDown. Tal vez algo como esto:

class MyListBox : ListBox { protected override void OnKeyDown(KeyEventArgs e) { switch (e.Key) { case Key.Left: // .... e.Handled = true; break; case Key.Right: // .... e.Handled = true; break; } if (!e.Handled) base.OnKeyDown(e); } }