在登录流程中,登录页面通常没有构成应用程序主要流程的底部选项卡。
AppShell.xaml
<TabBar>
<ShellContent Title="Home"
Icon="home.png"
ContentTemplate="{DataTemplate local:HomePage}"/>
<ShellContent Title="Articles"
Icon="articles.png"
ContentTemplate="{DataTemplate local:ArticlesPage}" />
</TabBar>
因此,如果登录成功,我尝试从登录页面导航到作为 Shell 中 TabBar 的一部分的主页。问题是 Shell 然后导航到主页,就好像它是一个独立的页面,没有 TabBar。
我假设答案在于导航到 TabBar 部分本身,我不知道。
有两种方法可以实现您的要求。
将 LoginPage 包含到 AppShell 中
-
Set AppShell
as MainPage
in App
.
-
地点二Tabbar
在 AppShell 中,并放置LoginPage
首先然后HomePage
,并设置不同的Route
为了两个人Tabbar
.
<TabBar Route="Login">
<ShellContent ContentTemplate="{DataTemplate local:LoginPage}" />
</TabBar>
<TabBar Route="Home">
<ShellContent Title="Home" Icon="home.png" ContentTemplate="{DataTemplate local:HomePage}"/>
<ShellContent Title="Articles" Icon="articles.png" ContentTemplate="{DataTemplate local:ArticlesPage}" />
</TabBar>
-
Call await Shell.Current.GoToAsync("//Home");
登录时,调用await Shell.Current.GoToAsync("//Login");
当退出登录时。
不要将 LoginPage 包含到 AppShell 中
- Set
LoginPage
as MainPage
in App
首先。
- Call
MainPage = new AppShell();
登录后,拨打电话MainPage = new LoginPage();
当退出登录时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)