页面导航

14-Windows10应用开发-页面导航

1. 导航核心机制:后退堆栈(栈结构)

  • 数据结构:Windows 10 应用的页面跳转逻辑由堆栈结构(后进先出,LIFO)容器管理,称为后退堆栈。
  • 通俗类比:类似叠盘子,最后放上的盘子(最新页面)必须最先移走。若要移除中间的盘子,必须先移走其上面的所有盘子。

2. 核心操作逻辑

  • 推送操作(Push / 导航前进):
    • 触发方式:调用 Navigate 方法(如 Frame.Navigate(typeof(TargetPage)))。
    • 执行逻辑:当前页面被压入后退堆栈顶部,系统创建并显示目标页面的新实例。
  • 弹出操作(Pop / 导航后退):
    • 触发方式:调用 GoBack 方法(需配合 CanGoBack 判断)。
    • 执行逻辑:放弃当前页面,将堆栈顶部的页面弹出并重新显示。连续调用会持续弹出,直到堆栈中无条目(注:原课件末尾“知道堆栈中不再右条目”即为“直到堆栈中不再有条目”的笔误)。

3. 堆栈深度操作与属性

  • BackStack 属性:通过 Frame 类的 BackStack 属性,可获取后退堆栈中的所有项目集合。
  • 条目类型:堆栈中的每个项目为 PageStackEntry 类的对象(代表一次页面导航记录,包含页面类型、参数等)。
  • 进阶控制:若需移除中间页面(如登录页跳主页后清空历史),可通过操作 BackStack 集合(如 RemoveAt 或清空 Clear)手动修改堆栈结构。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注