14-Windows10应用开发-页面导航
1. 导航核心机制:后退堆栈(栈结构)
- 数据结构:Windows 10 应用的页面跳转逻辑由堆栈结构(后进先出,LIFO)容器管理,称为后退堆栈。
- 通俗类比:类似叠盘子,最后放上的盘子(最新页面)必须最先移走。若要移除中间的盘子,必须先移走其上面的所有盘子。
2. 核心操作逻辑
- 推送操作(Push / 导航前进):
- 触发方式:调用
Navigate方法(如Frame.Navigate(typeof(TargetPage)))。 - 执行逻辑:当前页面被压入后退堆栈顶部,系统创建并显示目标页面的新实例。
- 触发方式:调用
- 弹出操作(Pop / 导航后退):
- 触发方式:调用
GoBack方法(需配合CanGoBack判断)。 - 执行逻辑:放弃当前页面,将堆栈顶部的页面弹出并重新显示。连续调用会持续弹出,直到堆栈中无条目(注:原课件末尾“知道堆栈中不再右条目”即为“直到堆栈中不再有条目”的笔误)。
- 触发方式:调用
3. 堆栈深度操作与属性
- BackStack 属性:通过
Frame类的BackStack属性,可获取后退堆栈中的所有项目集合。 - 条目类型:堆栈中的每个项目为
PageStackEntry类的对象(代表一次页面导航记录,包含页面类型、参数等)。 - 进阶控制:若需移除中间页面(如登录页跳主页后清空历史),可通过操作
BackStack集合(如RemoveAt或清空Clear)手动修改堆栈结构。
Previous: 对象树-框架页面结构
Next: 控件编程-系统控件的分类