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 VisualElement
heredan 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.