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.cs
的 OnStart()
方法中,我检查用户是否经过身份验证,如果没有,我使用以下代码将用户发送到单独的 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">
我有一个使用 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.cs
的 OnStart()
方法中,我检查用户是否经过身份验证,如果没有,我使用以下代码将用户发送到单独的 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">