如何在 xamarin 详细信息页面中更深入地导航

How to navigate deeper inside a xamarin detailpage

我有一个以 MasterDetailPage 作为根页面的项目。当我在 Detailpage 中更深入地导航时,我遇到了问题,即 DetailPage 导航覆盖了我的 MasterPage 操作栏。我可以在 actionbar 中同时拥有 burgermenuicon 和后退按钮吗?

导航前: 导航后:

public partial class MasterPage : MasterDetailPage
{
    public MasterPage()
    {

        Master = SetMasterContentPage();
        Detail = new NavigationPage(new TaxonomyOverviewPage());
    }

    ContentPage SetMasterContentPage()
    {
        var masterPage = new ContentPage { Title = "Test"};
        masterPage.Content = new StackLayout
        {
            Children = {
                new Label{Text="Label1"},
                new Label{Text="Label2"},
                new Label{Text="Label3"}
            }
        };

        return masterPage;
    }

    protected override void OnAppearing()
    {
        base.OnAppearing();
    }
}

问题已解决。

我使用了 public 静态 MasterDetailPage 并将其引用到 App.cs 中的 MainPage。现在我可以访问 MasterDetailPage 的 IsPresented 属性。

public partial class App : Application
{
    public static MasterPage masterdetail;

    public App()
    {
     InitializeComponent();
    }

    protected override void OnStart()
    {
      masterdetail = new MasterPage();
      Device.BeginInvokeOnMainThread(() => {
       MainPage = masterdetail;
       });
    }

}

最后,我在操作栏的右侧添加了一个菜单图标。

protected override void OnAppearing()
    {
        base.OnAppearing();
        ToolbarItems.Add(new ToolbarItem("Menu", "menuicon.png", () => { App.masterdetail.IsPresented = true; }));
    }