2011-07-07 10 views
9

Quiero que la flecha blanca aparezca en mis cuadros de entrada de texto para que los usuarios tengan una forma de avanzar que no sea tocar el teclado o usar el botón Atrás del hardware.¿Cómo se obtiene un botón de enviar en el teclado de Windows Phone?

Los campos de búsqueda lo hacen en la interfaz de usuario del sistema. ¿Cómo puedo?

Aquí está mi código XAML :

<TextBox x:Name="InputBox" InputScope="Text" AcceptsReturn="True" TextChanged="InputBox_TextChanged"/> 

CS:

void InputBox_TextChanged(object sender, KeyEventArgs e) 
{ 
    // e does not have Key property for capturing enter - ?? 
} 

Una nota rápida, he tratado AcceptsReturn como Falso también.

Respuesta

10

En vez de manejar el método TextChanged, manejar el método KeyUp del Cuadro de texto:

private void InputBox_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
     if (e.Key == Key.Enter) 
     { 
      //enter has been pressed 
     } 
} 
10

Además, he encontrado que para obtener el botón blanco que la caja de búsqueda tiene puede establecer el InputScope a "búsqueda enviar ":

<TextBox x:Name="InputBox" InputScope="Search" AcceptsReturn="False" KeyUp="InputBox_KeyUp"/> 

Todavía no he averiguado si esto tiene algún efecto secundario involuntario.

Por si acaso aquí es el código para ocultar el teclado en el evento KeyUp:

void InputBox_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
     if (e.Key == Key.Enter) 
     { 
      this.Focus(); 
     } 
} 
+0

Parece que la búsqueda InputScope tiene el desafortunado efecto secundario de no apoyar la auto-corrección. Supongo que abriré una pregunta separada para eso :( – Subcreation

Cuestiones relacionadas