Saltar al contenido

Navegación de página de Xamarin.form en mvvm

Este equipo de especialistas luego de muchos días de trabajo y de recopilar de información, obtuvimos los datos necesarios, queremos que te resulte útil en tu trabajo.

Solución:

Una forma es pasar la Navegación a través de VM Constructor. Dado que las páginas heredan de VisualElementheredan directamente el Navigation propiedad.

Código detrás del archivo:

public class SignIn : ContentPage

    public SignIn()
       InitializeComponent();
       // Note the VM constructor takes now a INavigation parameter
       BindingContext = new LocalAccountViewModel(Navigation);
    

Luego, en su máquina virtual, agregue un INavigation propiedad y cambiar el constructor para aceptar un INavigation. A continuación, puede utilizar esta propiedad para la navegación:

public class LocalAccountViewModel : INotifyPropertyChanged
{

       public INavigation Navigation  get; set;


        public LocalAccountViewModel(INavigation navigation)
        
            this.Navigation = navigation;
            this.ContinueBtnClicked = new Command(async () => await GotoPage2());
        


        public async Task GotoPage2()
        
             /////
             await Navigation.PushAsync(new Page2());
        


        ...

Tenga en cuenta un problema con su código que debe solucionar: el GoToPage2() se debe configurar el método async y devolver el Task escribe. Además, el comando realizará una llamada de acción asincrónica. ¡Esto se debe a que debe navegar por la página de forma asincrónica!

¡Espero eso ayude!

Una forma sencilla es

this.ContinueBtnClicked = new Command(async()=>

    await Application.Current.MainPage.Navigation.PushAsync(new Page2());
);

Desde tu máquina virtual

public Command RegisterCommand
        
            get
            
                return new Command(async () =>
                
                    await Application.Current.MainPage.Navigation.PushAsync(new RegisterNewUser());
                );

            
        

Aquí tienes las comentarios y calificaciones

Recuerda algo, que tienes la capacidad de agregar una reseña si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *