You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI设置Flyout Tab默认路由:点击始终跳转Home页面

实现.NET MAUI Shell Tab点击时默认跳转指定页面

要让每次点击Flyout中的「Information」选项时都跳转到Home页面,而非保留上次访问的页面,可以通过以下两种方式实现:

方法一:监听FlyoutItem点击事件,主动导航到Home页面

  1. 修改Shell的XAML代码,给目标FlyoutItem添加名称标识:
<FlyoutItem x:Name="InformationFlyoutItem" FlyoutDisplayOptions="AsMultipleItems">
    <Tab Title="Information" Icon="lib_pic.jpg" Route="information">
        <ShellContent
            Title="Home"
            ContentTemplate="{DataTemplate local:MainPage}"
            Icon="home.png"
            Route="home" />
        <!-- 其余ShellContent代码保持不变 -->
    </Tab>
</FlyoutItem>
  1. 在AppShell.xaml.cs中订阅点击事件并执行导航操作:
public AppShell()
{
    InitializeComponent();
    InformationFlyoutItem.Clicked += InformationFlyoutItem_Clicked;
}

private async void InformationFlyoutItem_Clicked(object sender, EventArgs e)
{
    // 通过Shell路由定位到Home页面,//表示从根路由开始匹配
    await Shell.Current.GoToAsync("//information/home");
}

方法二:监听Tab选中事件,强制切换到Home页面

  1. 修改Shell的XAML代码,给目标Tab添加名称标识:
<FlyoutItem FlyoutDisplayOptions="AsMultipleItems">
    <Tab x:Name="InformationTab" Title="Information" Icon="lib_pic.jpg" Route="information">
        <ShellContent
            Title="Home"
            ContentTemplate="{DataTemplate local:MainPage}"
            Icon="home.png"
            Route="home" />
        <!-- 其余ShellContent代码保持不变 -->
    </Tab>
</FlyoutItem>
  1. 在AppShell.xaml.cs中订阅Tab选中事件,直接设置当前活跃项为Home页面:
public AppShell()
{
    InitializeComponent();
    InformationTab.Selected += InformationTab_Selected;
}

private void InformationTab_Selected(object sender, EventArgs e)
{
    // 筛选出Tab下Route为home的ShellContent并设为当前活跃项
    var homeContent = InformationTab.Items.FirstOrDefault(item => item.Route == "home");
    if (homeContent != null)
    {
        InformationTab.CurrentItem = homeContent;
    }
}

两种方案均可实现需求:第一种遵循Shell导航的标准流程,适合需要附加其他导航逻辑的场景;第二种直接修改Tab的活跃项,操作更简洁直接。

内容的提问来源于stack exchange,提问作者user3017691

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 12:27:42