Xamarin Forms 应用程序登录页面上显示的选项卡

Tabs showing on Login Page in Xamarin Forms app

我有一个使用 Shell 的 Xamarin Forms 应用程序,该应用程序的主页恰好在 Shell 中定义了选项卡——见下文:

<FlyoutItem Title="Home">
   <FlyoutItem.Icon>
       <FontImageSource
           FontFamily="MISHRP"
           Glyph="{StaticResource HomeIcon}"
           Color="White" />
   </FlyoutItem.Icon>
   <Tab Title="My Feed">
      <ShellContent Route="MyFeed" ContentTemplate="{DataTemplate views:MyFeedFeed}"/>
   </Tab>
   <Tab Title="Card">
      <ShellContent Route="PersonalCard" ContentTemplate="{DataTemplate views:PersonalCard}"/>
   </Tab>
   <Tab Title="Cart">
      <ShellContent Route="Cart" ContentTemplate="{DataTemplate views:Cart}"/>
   </Tab>
</FlyoutItem>

App.xaml.csOnStart() 方法中,我检查用户是否经过身份验证,如果没有,我使用以下代码将用户发送到单独的 Login 页面:

protected override async void OnStart()
{
    // Check to see if token has expired or missing
    var tokenExpiration = await SecureStorage.GetAsync("token_expiration");
    if(tokenExpiration == null)
        await Shell.Current.GoToAsync(nameof(LoginPage));

    // Some more logic here...
}

这很好用,但是当我进入 Login 页面时,我看到了 Shell 中定义的选项卡。

我已经在 Login 页面上使用了 Shell.NavBarIsVisible="False",它成功隐藏了导航栏而不是标签。

如何确保 Login 页面上不显示任何标签?

我所要做的就是将 Shell.TabBarIsVisible="False" 添加到 Login XAML。见下文:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MyApp.Views.LoginPage"
             Shell.NavBarIsVisible="False"
             Shell.TabBarIsVisible="False">