PopToRootAsync到选定的外壳弹出项



下面的代码使用<Shell>创建一个带有集成侧栏的动作栏,这样用户就可以通过向右滑动轻松导航。作为C#的新手,我知道第一个ShellContent将是应用程序打开时<Shell>加载和预览的页面,即ContentTemplate="{DataTemplate local:LoanHistory}"

我也知道,当你点击FlyoutItems时,你不会将堆栈添加到导航中,但<Shell>每次点击它都会更改内容。下面的代码位于一个名为MainPage.xaml 的文件中

<?xml version="1.0" encoding="utf-8" ?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:LoanApp2.Views"
mc:Ignorable="d"
x:Class="LoanApp2.MainPage" BackgroundColor="#62bef0" Title="Dylan">
<FlyoutItem Title="MyTabApp" Shell.TabBarIsVisible="False" FlyoutDisplayOptions="AsMultipleItems">
<ShellContent Title="Loan History" IsTabStop="False" ContentTemplate="{DataTemplate local:LoanHistory}"/>
<ShellContent Title="Apply for Loan" IsTabStop="False" ContentTemplate="{DataTemplate local:LoanApplication}"/>
<ShellContent Title="Logout" IsTabStop="False"  ContentTemplate="{DataTemplate local:LoanHistory}"/>
</FlyoutItem>
</Shell>

因此,通过侧栏(shell(-我点击"申请贷款",它将带我进入LoanApplication.xaml。此时,没有堆栈添加到导航中。在LoanApplication.xaml中,我使用绑定到按钮的PushAsync将我带到一个名为AmountLoanable.xaml的页面。它被添加到堆栈中,操作栏上的后退按钮现在可用。

在我完成了AmountLoanable.xaml上的内容之后,我使用PopToRootAsync来删除除根页面(即<Shell>MainPage.xaml(之外的导航堆栈。然而,它让我回到了之前选择的"申请贷款",我希望它加载一个新的<Shell>MainPage.xaml页面。这样,第一个页面(贷款历史记录(将是所选择的页面,而不是通过<Shell>访问的最后一个页面

尝试将Application.Current.MainPage重置为默认Shell ex:Application.Current.MainPage = new AppShell();

相关内容

  • 没有找到相关文章

最新更新