MAUI 项目,无法导航到新页面

我在 MAUI 中遇到了一个错误,我只是想知道我是唯一一个,还是我在这个新环境中做错了什么:)

在通过单击按钮导航到新页面时,我总是能够做到这一点:

private async void OnButtonClicked(object sender, EventArgs e)
       {
           await Navigation.PushAsync(new Page1());
       } 

但它似乎不再起作用了,这就是我的 Page1 在 C# 代码中的样子:

    public partial class Page1 : ContentPage
    {
        public Page1()
        {
           InitializeComponent();
        }

        protected override async void OnAppearing()
        {
            base.OnAppearing();

            await MainThread.InvokeOnMainThreadAsync(async () => { await LoadRecipes(); });
        }

        private async Task LoadRecipes() 
        {

           //no code yet
        }
    }
}

当我运行此代码并单击按钮时,没有任何反应。

stack overflow MAUI project, cannot navigate to a new page
原文答案

答案:

作者头像

您可以在 ButtonClick 或 TapGestureRecongnizer 中使用它进行导航。

private void TapGestureRecognizer_Tapped_2(object sender, EventArgs e)
    {
        App.Current.MainPage = new NavigationPage(new Page1());

    }

或者在一个按钮中。

 private void Button_Clicked(object sender, EventArgs e)
    {
        App.Current.MainPage = new NavigationPage(new Page1());
    }
作者头像

试试这个:首先在你的 App.xaml.cs 中

public partial class App : Application
{
    public App()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new MainPage());
    }
}

然后在您的 MainPage 中,您可以执行您正在尝试执行的操作:

private async void btnNav_Clicked(object sender, EventArgs e)
{
    await Navigation.PushAsync(new Page1());
}

这应该可以工作并跟踪用户的导航,但在我遇到的一些奇怪的情况下,它工作得不是很好,但这是微软在其入门指南中记录的解决方案。我想在他们的毛伊岛指南中看到更多关于导航的信息。