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

Igo*_*ues 1 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();
    }
Run Code Online (Sandbox Code Playgroud)

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

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

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

        App.MasterDetail = this;
    }
}
Run Code Online (Sandbox Code Playgroud)

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());
    };
}
Run Code Online (Sandbox Code Playgroud)

Detail.xaml.cs为空。

Olu*_*ola 5

相信您必须NavigationPage在自己的工具中使用App.xaml.cs。在你App.xaml.cs确保你的构造函数或App方法看起来像这样

public App ()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new selectPage());
    }
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助