Xamarin.Forms 从 TabbedPage 导航

问题描述

我是 Xamarin.Forms 的新手,我来自 android。 我在 Xamarin.Forms Docs 上发现不建议将 TabbedPage 放在 NavigationPage 中,所以我应该怎么做才能导航到另一个页面。而且我不想从 tabbedPage 子项之一导航,而是从 tabbed 页面导航到一个全新的页面

解决方法

不建议将 TabbedPage 放在 NavigationPage 中

这意味着我们最好将AppMainPage直接设置为TabbedPage

public App()
{
    InitializeComponent();

    MainPage = new TabbedPage(); // it's better than MainPage = new NavigationPage(new TabbedPage());
}

在 Tabbed Pagged 中,我们可以将其子页面设置为 NavigationPage,如下所示

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:local="clr-namespace:xxx;assembly=xxx"
            x:Class="TabbedPageWithNavigationPage.MainPage">
    <NavigationPage Title="Page1" IconImageSource="xxx.png">
        <x:Arguments>
            <local:SchedulePage />
        </x:Arguments>
    </NavigationPage>
    <NavigationPage Title="Page2" IconImageSource="xxx.png">
        <x:Arguments>
            <local:SchedulePage />
        </x:Arguments>
    </NavigationPage>
</TabbedPage>

在 Page1 或 Page2 中,我们可以导航到另一个 ContentPage

await Navigation.PushAsync (new xxxPage ());