.NET MAUI TabBar 登录/注销问题

问题描述 投票:0回答:1

我遇到一个问题,当用户导航到“设置”选项卡并单击注销选项时,该选项会将用户导航回登录屏幕,但当用户重新登录时,选项卡栏仍设置为设置屏幕。我如何阻止这种情况发生并将其默认返回到登录时的仪表板

流程

  1. 用户登录(选择选项卡:仪表板)
  2. 用户转到“设置”选项卡(所选选项卡:“设置”)
  3. 注销功能
  4. 用户登录(选择选项卡:设置)

AppShell.Xaml

 <TabBar Route="Login">
        <ShellContent
            x:Name="ViewShell"
            ContentTemplate="{DataTemplate views:AutoLoginView}"
            Route="AutoLoginView" />
    </TabBar>

    <TabBar Route="BottomNavigationMenu">

        <ShellContent
            Title="Home"
            ContentTemplate="{DataTemplate views:DashboardView}"
            Icon="home.svg" />
        <ShellContent
            Title="Scan"
            ContentTemplate="{DataTemplate views:RewardScanView}"
            Icon="scan.svg" />
        <ShellContent
            Title="Settings"
            ContentTemplate="{DataTemplate views:SettingsView}"
            Icon="settings.svg" />
    </TabBar>

注销功能(SettingsViewModel)

Shell.Current.GoToAsync("//Login");

登录功能(LoginViewModel)

Shell.Current.GoToAsync("//BottomNavigationMenu");
c# .net xaml navigation maui
1个回答
0
投票

您可以尝试在AppShell.xaml文件中的

DashboardView
中添加Route,然后重写LoginViewModel中的
GoToAsync
,如以下代码:

AppShell.xaml:

<ShellContent
    Route = "Dashboard"
    Title = "Home"
    ContentTemplate = "{DataTemplate local:DaashboardView}"
    Icon = "home.svg" />

登录视图模型:

Shell.Current.GoToAsync("//dashboard");
© www.soinside.com 2019 - 2024. All rights reserved.