Xamarin, Xamarin.Forms

¿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.

Anuncios

Responder

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. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s