Android一次只允许在屏幕上使用一个导航页面

时间:2015-12-22 00:23:25

标签: xamarin xamarin.android xamarin.forms

下面两个实现有什么区别?

 public App()
    {
        // The root page of your application
        MainPage = new Views.MainPage();
    }   
 public App()
    {     
        MainPage = new NavigationPage(new MainPage());
    }

如果我的主页继承MasterDetailPage,上面的第一个代码将起作用,但是第二个将返回错误消息,告诉我“当我调试我的Android应用程序时,android一次只能在屏幕上显示一个导航页面”。

  public class MainPage : MasterDetailPage
    {

        MasterPage masterPage;
        public MainPage()
        {
            masterPage = new MasterPage();
            Master = masterPage;
            Detail = new NavigationPage(new AnotherPage());

1 个答案:

答案 0 :(得分:9)

我可能会对你的要求感到有点困惑,但如果你在做什么

MainPage = new NavigationPage(new MainPage());

您的MainPage是

public class MainPage : MasterDetailPage
{

    MasterPage masterPage;
    public MainPage()
    {
        masterPage = new MasterPage();
        Master = masterPage;
        Detail = new NavigationPage(new AnotherPage());

然后你正在做

NavigationPage> MasterDetailPage> NavigationPage

MasterDetail或Navigation应该是根,而不是彼此在一起。您不能在彼此之间有2个导航页面。