我遇到一个问题,当用户导航到“设置”选项卡并单击注销选项时,该选项会将用户导航回登录屏幕,但当用户重新登录时,选项卡栏仍设置为设置屏幕。我如何阻止这种情况发生并将其默认返回到登录时的仪表板
流程
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");
您可以尝试在AppShell.xaml文件中的
DashboardView
中添加Route,然后重写LoginViewModel中的GoToAsync
,如以下代码:
AppShell.xaml:
<ShellContent
Route = "Dashboard"
Title = "Home"
ContentTemplate = "{DataTemplate local:DaashboardView}"
Icon = "home.svg" />
登录视图模型:
Shell.Current.GoToAsync("//dashboard");