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
Post Relacionado:
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo
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
Ola,no meu ele ta capturando mas o teclado nao some. o que pode ser?
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