Как я могу использовать NavigationPage на Мауи?

Я хочу перемещаться по MainPage вот так:

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

Это не работает. Затем я узнаю, что мне нужно использовать для упаковки MainPage, как это:

      public MainWindow()
{
    Page = new NavigationPage(new MainPage());
}

Но NavigationPage не реализует IPage интерфейс.

5 ответов

Попробуй это:

      public partial class App : Application
{
    public App()
    {
        InitializeComponent();

        MainPage = new NavigationPage();
        MainPage.Navigation.PushAsync(new MainPage());
    }
}

Найдено в демонстрационном приложении Weather21 — измените свой app.xaml.cs следующим образом.

      public partial class App : Application
{
    public App()
    {
        InitializeComponent();
    }

    protected override Window CreateWindow(IActivationState activationState) =>
        new Window(new NavigationPage(new MainPage())) { Title = "MyApp" };
}

Навигация по страницам в .NET MAUI: обзор

Обычному приложению требуется иерархическая навигация, при которой пользователь может перемещаться по страницам вперед и назад по мере необходимости.

Платформа .NET MAUI предоставляет две основные формы навигации по страницам приложения:

  • Оболочка.
  • Базовые страницы навигации, такие как FlyoutPage, TabbedPage и NavigationPage.

В Источник: Selva Ganapathy Kathiresan, 27 мая 2022 г.этом блоге давайте посмотрим, как мы можем интегрировать навигацию по страницам в ваше приложение .NET MAUI с примерами кода.

Просто

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

Вы можете попробовать это:

      App.Current.MainPage = new NavigationPage(new Page1());
Другие вопросы по тегам