¿Cómo seguir mostrando el teclado al cambiar de campo en un formulario? #XamarinForms


Es casi normal que toda aplicación tenga su formulario para poder iniciar sesión, y que este compuesto de dos entradas (Entry) y un botón (button). Ahora bien, aquí lo que normalmente nos gustaría que sucediera es que al presionar la tecla Ingresar (Enter) pueda navegar a la siguiente entrada (Entry) sin necesidad de seleccionarla.

Entonces, la pregunta es: ¿hay alguna manera de realizar esto?

Si, y de hecho es muy sencilla, lo único que debemos de hacer es cambiar el foco cada vez que se inicia la propiedad Entry.Completed.

La logica es que cuando se dispara username_entry.Completed, cambio el foco a la pass_entry, y finalmente al Button.

username_entry.Completed += (s, e) =>  {   pass_entry.Focus();     };

DEMO

XAML


<Entry
x:Name="username_entry"
Placeholder="Username" />

<Entry
x:Name="pass_entry"
IsPassword="true"
Placeholder="Password" />

<Button 
x:Name="enterBtn"
VerticalOptions="Center"
Command="{Binding LoginCommand}" />

C#


public LoginPage()
{
 BindingContext = _viewModel = new LoginViewModel();

 InitializeComponent();
}

protected override void OnAppearing()
{
base.OnAppearing();
username_entry.Completed += (s, e) =>
{
pass_entry.Focus();
};

pass_entry.Completed += (s, e) =>
{
enterBtn.Command.Execute(_viewModel);
};
}

Como habrás visto este tutorial es demasiado sencillo, pero por varias preguntas de varios dentro de la comunidad me decidí a realizarlo. Si tienes cualquier duda, alguna sugerencia o quieres hacerme saber algo, no dudes en escribirme por este medio.

Nos leemos pronto.

3 comentarios en “¿Cómo seguir mostrando el teclado al cambiar de campo en un formulario? #XamarinForms

  1. Hola y gracias por el post.
    Donde declaras la variable _viewModel. Si la pongo en el constructor como indicas, luego en el command me dice que no existe

Deja una respuesta

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s