Android上不支持全局支持PushAsync,请使用NavigationPage

时间:2018-06-08 21:42:20

标签: c# android xamarin xamarin.forms

我正在制作一个主细节页面作为菜单,我收到了这个错误:

  

Android上不支持全局支持PushAsync,请使用NavigationPage。

当我尝试实例化另一个页面时。我相信我的代码在实例化页面时已经创建了一个导航页面,但我不确定。有人能帮助我吗?

App.xaml.cs:

public partial class App : Application
{
    static public MasterDetailPage MasterDetail { get; set; }

    public async static Task NavigateMasterDetail(Page page)
    {
        App.MasterDetail.IsPresented = false;
        await App.MasterDetail.Navigation.PushAsync(page);
    }


    public App ()
    {
        InitializeComponent();

        MainPage = new selectPage();
    }

带有菜单的页面,选择页面:

public partial class selectPage : MasterDetailPage
{
    public selectPage()
    {
        InitializeComponent();

        this.Master = new Master();
        this.Detail = new NavigationPage(new Detail());

        App.MasterDetail = this;
    }
}

Master.xaml.cs:

public Master ()
{
    InitializeComponent ();

    toDivPage.Clicked += async (sender, e) =>
    {
        await App.NavigateMasterDetail(new MainPage());
    };

    toBiqPage.Clicked += async (sender, e) =>
    {
        await App.NavigateMasterDetail(new MainPage());
    };
}

Detail.xaml.cs为空。

1 个答案:

答案 0 :(得分:4)

我相信您必须在NavigationPage中使用App.xaml.cs。 在App.xaml.cs中,请确保您的构造函数或App方法看起来像这样

public App ()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new selectPage());
    }

我希望这会有所帮助