我应该如何正确使用rootpage,以便我可以使用正确的navigatiobar导航/ pushasync到其他页面。
现在看起来像这样:
MainPage = new RootPage ();
我的根页:
public RootPage ()
{
var theMenu = new MenuPage (this);
theMenu.Title = "::";
Master = theMenu;
NavigationPage page = new NavigationPage(new StartPage ());
Detail = page;
}
如果我有这样的话,当我尝试导航到新页面时出现错误:
async void contactClick (object s, EventArgs e)
{
await Navigation.PushAsync (new ContactPage());
}
错误:" iOS上不支持全局支持PushAsync,请使用NavigationPage。"
如果我改为:
MainPage = new NavigationPage (new RootPage ());
我有两个导航栏。我用......解决了这个问题:
NavigationPage.SetHasNavigationBar (this, false);
...在我的RootPage上,但是当我导航到新页面并且它在android上崩溃时,它会给它一个奇怪的动画。你有什么想法可以解决这个问题吗?
答案 0 :(得分:3)
据我所知,您有MasterDetailPage,并且您想在详细信息页面上执行导航。
如果是这样,您应该通过Detail.Navigation.Push / Popasync(..)推送/弹出页面(您的详细信息页面已经是NavigationPage)。
async void contactClick (object s, EventArgs e)
{
await Navigation.PushAsync (new ContactPage());
}
如果此方法在MenuPage或RootPage中,那么你得到了
错误:“iOS上不支持全局支持PushAsync,请使用NavigationPage。”
因为这些页面不是NavigationPages。
编辑:如果要在导航后隐藏菜单,请将RootPage.IsPresented属性设置为false。
答案 1 :(得分:0)