如何在 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; }));
}
我有一个以 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; }));
}