在 Xamarin 中更改 TabBar 元素的可见性

Changing the visibility of TabBar elements in Xamarin

提问人:Данил Грицан 提问时间:11/15/2023 更新时间:11/15/2023 访问量:33

问:

我的 TabBar 中有导航,我需要,如果用户未获得授权,则不会显示“我的个人资料”,如果已获得授权,则不会显示“注册”和“授权”。这怎么能做到呢?

<FlyoutItem Title="Главная" Icon="icon_home.png">
    <ShellContent Route="MainPage" ContentTemplate="{DataTemplate local:MainPage}" />
</FlyoutItem>
<FlyoutItem Title="Челленджи" Icon="icon_carbon.png">
    <ShellContent Route="ChallengesPage" ContentTemplate="{DataTemplate local:ChallengesPage}" />
</FlyoutItem>
<FlyoutItem Title="Сообщества" Icon="icon_community.png">
    <ShellContent Route="CommunityPage" ContentTemplate="{DataTemplate local:CommunityPage}" />
</FlyoutItem>
<FlyoutItem Title="Погода" Icon="icon_weather.png">
    <ShellContent Route="WeatherPage" ContentTemplate="{DataTemplate local:WeatherPage}" />
</FlyoutItem>
<FlyoutItem Title="Мой профиль" Icon="icon_profile.png">
    <ShellContent Route="UserProfilePage" ContentTemplate="{DataTemplate local:UserProfilePage}" />
</FlyoutItem>
<FlyoutItem Title="Регистрация" Icon="icon_reg.png">
    <ShellContent Route="RegistrationPage" ContentTemplate="{DataTemplate local:RegistrationPage}" />
</FlyoutItem>
<FlyoutItem Title="Авторизация" Icon="icon_login.png">
    <ShellContent Route="LoginPage" ContentTemplate="{DataTemplate local:LoginPage}" />
</FlyoutItem>
Xamarin.Forms 导航

评论


答:

0赞 Alexandar May - MSFT 11/15/2023 #1

可以使用 动态更改 UserProfilePage 的可见性。IsVisible="{Binding IsAuthorizedUser}"


<FlyoutItem Title="Мой профиль" Icon="icon_profile.png" IsVisible="{Binding IsAuthorizedUser}">
    <ShellContent Route="UserProfilePage" ContentTemplate="{DataTemplate local:UserProfilePage}" />
</FlyoutItem>

在 ViewModel 或代码隐藏中,可能需要 MessagingCenterIsAuthorizedUser 更改为或基于用户是否获得授权。truefalse