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

Cod*_*nny 9 c# maui

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

之前我总是能够在通过单击按钮导航到新页面时执行此操作:

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

但它似乎不再起作用了,这就是我的 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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Bas*_*s H 6

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

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

    }
Run Code Online (Sandbox Code Playgroud)

或者在按钮中。

 private void Button_Clicked(object sender, EventArgs e)
    {
        App.Current.MainPage = new NavigationPage(new Page1());
    }
Run Code Online (Sandbox Code Playgroud)


Jua*_*rgo 4

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

public partial class App : Application
{
    public App()
    {
        InitializeComponent();
        MainPage = new NavigationPage(new MainPage());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在您的主页中您可以执行您想要执行的操作:

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

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