用户成功登录后,我在以前的应用程序中使用以下代码从堆栈中删除登录页面。

var supervisor = new Supervisor();

Navigation.InsertPageBefore(supervisor, this);

Navigation.PopAsync();

btnLogin.IsEnabled = true;

Spinner.IsEnabled = false;

我想在无法使用“this”关键字的viewmodel类中做同样的事情,因为它表示页面。还有其他方法可以完成我的任务。
任何帮助将不胜感激。

问候

最佳答案

我找到了解决该问题的简单方法,在MVVM中,您必须将Page设置为根页面,然后使用

Application.Current.MainPage =新的NavigationPage(新的Supervisor());

此行将从堆栈中删除您的登录页面,并使MasterDetail页面(在本例中为Supervisor页面)成为您的根页面。

希望这对某人有帮助。

谢谢

关于mvvm - 如何在xamarin形式的ViewModel类中使用Navigation.InsertPageBefore?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52163939/

10-13 04:14