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

MAUI AppShell路由Android正常Windows异常问题求助

解决MAUI Windows平台GoToAsync("//HomeMenu")导航异常问题

问题原因

你同时在AppShell.cs手动注册了HomeMenu路由,又在AppShell.xaml的ShellContent上设置了Route="HomeMenu",重复的路由注册导致Windows平台Shell导航逻辑出现异常,仅更新页面标题但未切换内容,而Android平台对此兼容更好。

修复方案

  • 移除重复路由注册
    删除AppShell.cs中这行代码:

    Routing.RegisterRoute(nameof(HomeMenu), typeof(HomeMenu));
    

    ShellContent的Route属性已完成该页面的路由注册,无需手动重复操作。

  • 尝试更明确的导航语句
    如果上述修改后问题仍存在,可改用全局根路由标识或多级返回的方式:

    // 全局根路由跳转
    await AppShell.Current.GoToAsync("///HomeMenu");
    // 多级返回至根页面
    await AppShell.Current.GoToAsync("../../..");
    
  • 排查导航栈(辅助验证)
    可打印当前导航栈确认结构是否正常:

    var navStack = AppShell.Current.Navigation.NavigationStack;
    foreach (var page in navStack)
    {
        System.Diagnostics.Debug.WriteLine(page.GetType().Name);
    }
    

注意事项

MAUI Shell在不同平台的导航实现存在细微差异,避免重复注册路由是减少跨平台不一致问题的核心原则。//代表当前层级的根路由,///代表全局根路由,在你的场景中使用///HomeMenu能更精准地指定跳转到全局根页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 21:12:53