删除上一页

时间:2016-09-07 21:49:26

标签: xamarin xamarin.forms

该应用的主页面设置为NavigationPage

我有一个常见的情况,我有一个登录页面(ContentPage),然后我导航到应用程序的主页面(MasterDetailPage)。

我在登录页面上运行的代码是这样的:

var mainPage = new MasterDetailTestPage();
await this.Navigation.PushAsync(mainPage);
this.Navigation.RemovePage(this); // remove login page

问题是MasterDetailPage上无法看到菜单按钮。

如果不是这样,我将主页面设置为app MasterDetailPage,如下所示:

MainPage = new NavigationPage (new MasterDetailTestPage());

在这种情况下会显示菜单按钮。但这只有在开头设置时才有效。如果应用程序以登录页面开始,然后设置MainPage

,则无效

看起来MasterDetailTestPage不会显示菜单按钮,除非它是NavigationPage的根页。

我也在样本应用程序上重现了这一点。

1 个答案:

答案 0 :(得分:0)

  • 带有按钮的MasterDetailPage 只有在根页pod update中设置时才会显示。在你的情况下,你应该做这样的事情。

    公共部分类App:应用程序 {

    NavigationPage
  • public App() { InitializeComponent(); MainPage = new NavigationPage(new MenuPage()); } 包含带有MenuPage的MasterDetailPage,然后当导航到另一个页面(List)时,您可以执行逻辑操作,然后:

    LoginPage
  • 现在您可以使用可见按钮返回并导航到public async void login_clicked(object sender ,EventArgs e) { //.....your logic await Navigation.PopToRootAsync(); } ,因为它会删除堆叠中的所有页面。我希望它可以帮助你。