【发布时间】:2018-01-16 15:38:07
【问题描述】:
当我从视图模型重新导航到我的第一页(称为主页)时,它会显示一个空白页面。
我知道这与堆栈有关,但无论我尝试什么,它都保持为空。有没有人有任何想法?我找到了相关的线程,但方式不同。
主页构造函数:
public Login()
{
InitializeComponent();
}
视图模型中的代码
await Application.Current.MainPage.Navigation.PopToRootAsync();
await Application.Current.MainPage.Navigation.PushAsync(new Login());
好的,额外的信息:
设置我的根页面:
public partial class App : Application
{
public App()
{
InitializeComponent();
NavigationPage navigationPage = new NavigationPage(new Login()); << Renamed mainpage to login after the suggestion over here
MainPage = navigationPage;
}
我在登录后调用我的根页面。我想确保我的代码在他/她的 ADAL 令牌过期后注销我的用户。在我的视图模型中会这样:
var auth = DependencyService.Get<IAuthenticator>();
auth.logout();
await Application.Current.MainPage.Navigation.PopToRootAsync(true);
(如果没有 pushAsync,则根本不会导航并停留在当前页面。在新页面加载并用户登录后直接调用)
【问题讨论】:
-
如果
MainPage是您的根页面PopToRootAsync应该带您到那里。 -
这可能无关紧要,但不要头疼并重命名 MainPage 类,以便您可以轻松地将其与 XF 的 MainPage 区分开来
-
改名为 login()
标签: c# xamarin navigation