为了账号安全,请及时绑定邮箱和手机立即绑定

Xamarin.Forms 中的导航不起作用

Xamarin.Forms 中的导航不起作用

C#
慕虎7371278 2021-07-13 17:05:33
通过将 Mainpage 设置为导航页面或将 Mainpage 设置为另一个内容页面,我尝试了以下解决方案,导航不起作用:using System.Text;using System.Threading.Tasks;using Xamarin.Forms;namespace App14{public partial class MainPage : ContentPage{    public MainPage()    {        InitializeComponent();        Application.Current.MainPage = new Page1();    }}}如果我运行上面的代码,我看不到任何内容该应用程序只是加载并终止    using System;        using System.Collections.Generic;        using System.Linq;        using System.Text;    using System.Threading.Tasks;   using Xamarin.Forms;   namespace App14   {   public partial class MainPage : ContentPage  {    public MainPage()     {        InitializeComponent();        App.Current.MainPage = new NavigationPage();        Application.Current.MainPage.Navigation.PushAsync(new Page1())    }} }如果尝试使 MainPage 成为导航页面和 Pushasync 代码,它也将不起作用
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

您的App.xaml.cs,继承自Application应该加载您的,MainPage并且为了导航,它应该包含在NavigationPage.


public partial class App : Application

{

    public App()

    {

        InitializeComponent();


        var navigationPage = new NavigationPage(new MainPage());

        MainPage = navigationPage;

    }


    ...

}


查看完整回答
反对 回复 2021-07-17
?
Qyouu

TA贡献1786条经验 获得超11个赞

看起来您想要启动您的应用程序,其根页面为Page1.


如果这是真的,那么您在错误的地方编写导航逻辑。您应该从MainPage's构造函数中删除导航逻辑,并将您的第一页导航写入App.cs类,如下所示:


public partial class App : Application

{

    public App ()

    {

        InitializeComponent ();

        MainPage = new NavigationPage(new Page1 ());

    }

}

否则,


如果您想以MainPage根页面启动您的应用程序,然后立即想要推Page1送到导航堆栈,则:


public partial class App : Application

{

    public App ()

    {

        InitializeComponent ();


        var navPage = new NavigationPage(new App14.MainPage()); 

        Application.Current.MainPage = navPage; 


        navPage.PushAsync(new Page1());

    }

}

有关 Xamarin.Forms 中导航的更多详细信息,请单击此处。


查看完整回答
反对 回复 2021-07-17
  • 2 回答
  • 0 关注
  • 259 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信