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

MAUI NavigationStack异常:返回再进入时page2为何残留栈中?

MAUI AppShell 导航栈残留页面问题排查

背景信息

  • 重写AppShell的OnNavigating与OnNavigated方法,用于导航拦截与状态记录
  • 所有页面继承自BaseContentPage,监听页面导航生命周期事件
  • 通过DebuggingOutput工具输出导航栈的实时状态
  • 测试代码仓库为MauiArtefacts

测试场景与结果

测试案例1(正常)

在//logon与//page1之间往返导航,日志显示导航栈状态符合预期,无异常页面残留。

测试案例2(异常)

  1. 从//logon导航至//page1
  2. 在page1中推入page2(此时导航栈为 logon → page1 → page2)
  3. 导航返回//logon(按MAUI文档描述,使用//route格式的导航应替换整个导航栈,此时栈内应仅保留logon)
  4. 再次从//logon进入//page1时,出现以下异常:
    • 导航栈中仍残留page2实例
    • page2的Appearing与Disappearing事件被触发
    • 最终导航目标变为//page1/page2,完全违背文档描述的导航行为

疑问

为什么page2会作为残留页面保留在导航栈中?是否遗漏了MAUI导航系统的某些关键机制?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:04:54