【问题标题】:How to navigate deeper inside a xamarin detailpage如何在 xamarin 详细信息页面中更深入地导航
【发布时间】:2016-12-19 10:10:13
【问题描述】:

我有一个以 MasterDetailPage 作为根页面的项目。当我在 Detailpage 中更深入地导航时,我遇到了一个问题,即 DetailPage 导航会覆盖我的 MasterPage 操作栏。我可以在操作栏中同时使用 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();
    }
}

【问题讨论】:

    标签: xamarin xamarin.android xamarin.forms navigationbar master-detail


    【解决方案1】:

    问题解决了。

    我使用了一个公共静态 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; }));
        }
    

    【讨论】:

    • 太棒了..我遇到了完全相同的“问题”..谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2019-08-23
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    相关资源
    最近更新 更多