在MAUI contentpage.xaml中,您可以按照下面的代码设置Shell.NavBarIsVisible=“false”。(仅显示页面和Appshell XAML的关键部分)。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MAUI.DetailPage"
Shell.NavBarIsVisible="True"
Shell.TabBarIsVisible="False"
Shell.FlyoutBehavior="Disabled"
Title="Detail Page"
>
...
<?xml version="1.0" encoding="UTF-8" ?>
<Shell
x:Class="MAUI.AppShell"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MAUI"
>
<!-- home landing page -->
<ShellItem
Title="Home"
Route="Home">
<ShellContent
Title="Home"
ContentTemplate="{DataTemplate local:HomePage}"
Route="HomePage"
/>
</ShellItem>
<FlyoutItem
FlyoutDisplayOptions="AsMultipleItems">
<Tab Title="Data">
<ShellContent
Title="List"
ContentTemplate="{DataTemplate local:ListPage}"
Route="ListPage" />
</Tab>
<Tab Title="About" >
<ShellContent
Title="About"
ContentTemplate="{DataTemplate local:AboutPage}"
Route="AboutPage" />
</Tab>
</FlyoutItem>
</Shell>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MAUI.HomePage"
Title="Home Page"
>
...
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MAUI.ListPage"
Title="List Page"
>
...
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MAUI.AboutPage"
Title="About">
...
导航序列
1.打开应用程序到主页
1.使用弹出型按钮定位到列表页
1.列表页(显示弹出型按钮、显示导航栏、显示选项卡栏)
1.导航到“详细信息”页面
1.详细信息页面(隐藏弹出按钮,显示导航栏,显示选项卡栏-即使在xaml中关闭选项卡栏,弹出按钮)
1.从选项卡栏选择“关于”页
1.关于页面(显示弹出型按钮、显示导航栏、显示选项卡栏)
1.从“关于”页面选择选项卡栏中的“列表”页面
1.显示详细信息页面(不是选定的列表页面,但这实际上是正确的),(根据xaml设置,弹出按钮隐藏,导航栏显示,选项卡栏隐藏)
1.单击“详细信息”页上一步按钮
1.显示列表页面(显示弹出按钮、显示导航栏、隐藏选项卡栏...应显示TabBar)
两个基本问题:
- 步骤5期望隐藏选项卡栏。
- 步骤11期望显示标签条。
如果我跳过步骤6、7、8;我可以在主页、列表页和详细信息页之间来回导航,详细信息页将始终显示弹出按钮、导航栏和选项卡栏。
在第11步之后,如果我回到主页,那么一切都将再次回到第1步。
问:在内容页面xaml中设置的Shell设置对所有应用程序页面都是全局的吗?或者我只是看到了一个bug?是否有不同的方式显示/隐藏弹出型按钮,选项卡栏,导航栏上的每一页的基础?
1条答案
按热度按时间1szpjjfi1#
步骤5期望隐藏选项卡栏。
您可以尝试在单击ListPage并导航到DetailPage时将页面推送到导航堆栈。
举例来说:
有关详细信息,请查看文档:NavigationPage。