Curso Windows Phone – Como ocultar o teclado após pressionar o ENTER em um TextBox

Olá, tudo bom?

Segue um post rápido para o caso de você estar desenvolvendo uma APP onde seja necessário ocultar o teclado após o usuário pressionar a tecla ENTER.

Tomarei como base a existência do TextBox declarado no trecho de código abaixo:

...
<TextBox Name="txtMeuTexto" KeyUp="txtMeuTexto_KeyUp" InputScope="Default" />
...

Repare que no TextBox foi declarado o evento Key_Up, onde verificamos todas as teclas pressionadas pelo usuário na caixa de texto. Quando ele pressionar o ENTER tiramos o foco do TextBox e colocamos de volta na página da APP, fazendo com o teclado virtual seja ocultado.

Veja o código em C#

private void txtMeuTexto_KeyUp(object sender, KeyRoutedEventArgs e)
{
  if (e.Key == Windows.System.VirtualKey.Enter)
  {
    this.Focus(FocusState.Keyboard);
  }
}

Abraços,

Eduardo Henrique Rizo

MCP

Post Relacionado: 

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

4 comentários em “Curso Windows Phone – Como ocultar o teclado após pressionar o ENTER em um TextBox”

  1. Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo

  2. Algumas pessoas (como eu) pode ter problema com o código, ás vezes ele não cria do método com KeyRoutedEventArgs e não encontra FocusState daí usei o seguinte:

    using System.Windows.Input;

    private void nome_KeyUp(object sender, KeyEventArgs e)
    {
    if (e.Key == Key.Enter)
    {
    this.Focus();
    }
    }

    Funciona como o proposto no post, uma dica para quando ele for usado em muitos textBox, é colocar o mesmo método (KeyUp=”nome_KeyUp”) no XAML em todos os textBox, assim não é necessário ficar criando um método para cada textBox

      1. Sebastião, se você “debugar” a APP é possível verificar se ela está passando pelo método “keyup” do TextBox?
        Se sim, então o teclado deveria sumir, mas caso queira, me mande o trecho de código para eu dar uma analisada.

        []s
        Eduardo H. Rizo

Deixe um comentário