【问题标题】:Creating the navigation/flow of a MAUI application创建 MAUI 应用程序的导航/流程
【发布时间】:2022-10-25 17:12:41
【问题描述】:

我的应用程序相当简单,但在如何最好地使用 Shell 设置我的应用程序的导航/流程以及是否最好使用 Current.GoToAsync() 或 Current.Navigation.PushAsync() 在页面之间切换时遇到了问题. (或者如果有更好的方法。)

我的应用程序从启动页面开始,然后是登录页面,然后是带有 2 个选项的选项卡式页面。这些选项卡中的每一个都显示带有列表视图的页面,单击其中一个项目会将您带到带有后退按钮的详细信息页面,以返回到列表视图页面。

选项卡式页面的标题中还有一个设置按钮,它将显示设置的弹出页面。

This crude drawing kinda shows what I mean.

目前,在 AppShell.xaml 我有:

<Shell>
    <ShellContent ContentTemplate="{DataTemplate views:SplashScreen}" />
</Shell>

用户登录后,他们将被带到 MainPage.xaml,这是一个 TabbedPage 设置,如下所示:

<TabbedPage>
    <views:DemoPageA Title="A" />
    <views:DemoPageB Title="B" />
</TabbedPage>

不幸的是,我总是在每个屏幕上看到一个后退按钮。例如,我不希望用户返回初始屏幕或登录屏幕。

我只是不确定我是否需要在 AppShell.xaml.cs 中以不同方式定义我的应用程序或什么。任何想法表示赞赏。谢谢!

【问题讨论】:

  • 既然 Shell 也支持 Tabs,为什么还要将 Shell 与 TabbedPage 混合使用?如果您仅将 Shell 用于一页,这也是一种浪费。请缩小您的问题(关于后退按钮问题?)并包括更多详细信息,您如何从 Shell 导航到 TabbedPage。
  • @Cfun这就是我要说的:如何制作一个代表我要构建的应用程序的流程/导航的Shell?常规页面、常规页面、带有导航到常规页面的列表视图页面的选项卡式页面。

标签: xamarin navigation maui


【解决方案1】:

您可以将以下代码添加到您的页面中以隐藏 shell 中的后退按钮:

<Shell.BackButtonBehavior>
   <BackButtonBehavior IsEnabled="False" IsVisible="False"/>
</Shell.BackButtonBehavior>

这是相关的文章:Back button behavior| Microsoft

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2012-10-05
    • 1970-01-01
    • 2023-01-12
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多