导航模板.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
导航模板

——————————————————————————————————————————————— 导航模板 此主题尚未评级 - 评价此主题 在本文中 ? ? ? ? ? ? 进程生命期管理 在网格应用、拆分应用以及导航应用(仅 JavaScript)项目模板中使用的导航模型是使用 XAML 构建的 Windows 应用商店应用的推荐导航模型。此模型会创建中心框架作为默认窗口的内容,然后用户使用该框架导航到其他页面。 单框架导航模型可提供页面之间比较平滑的类似应用的切换,同时使管理程序状态更为容易。 有关导航和在使用 XAML 构建的 Windows 应用商店应用中使用内置导航的示例,请参阅快速入门:使用单页面导航。 文件 App.xaml.cs/vb/cpp 会创建 Frame(如果之前不存在),且会将 Frame 作为当前窗口的内容。 如果框架内容为空,则应用会导航到代码隐藏 App.xaml 中指定的主页。例如,在网格应用中,代码为 rootFrame.Navigate(typeof(GroupedItemsPage), AllGroups) )。 在设置过程中,SuspensionManager 会注册 Frame。 SuspensionManager 是网格应用或拆分应用模板中 Common 文件夹中提供的帮助程序类,并且它提供的实现可用于在应用终止时存储和加载状态。 所有应用都会按照操作系统的指示在应用程序生命周期中移动。 不论何时应用由于某些原因(如资源限制、关闭、重启等等)被系统终止,你作为开发人员必须在应用继续时立即还原数据。 提供 SuspensionManager 有助于你执行此任务。 SuspensionManager 会捕获全局会话状态以简化应用程序的进程生命周期管理。 会话状态会在多种情形下自动清除,且应仅用于存储便于在会话之间携带的信息,而在应用程序崩溃或进行升级时应丢弃该信息。 此信息基本上会包含过渡 UI 数据。 SuspensionManager 存在两种属性:SessionState 和 KnownTypes。 ? SessionState 提供当前会话的全局会话 状态的访问权限。 此状态由 SaveAsync 方法序列化且由 RestoreAsync 方法还原。 所有数据使用 DataContractSerialization 保存和还原 且应尽可能地压缩。 强烈建议字符串为其 他自包含数据类型。 ? KnownTypes 存储了为 DataContractSerializer 提供的自定义 类型列表,在处于读写会话状态时, SaveAsync 和 RestoreAsync 方法会使用 该 DataContractSerializer。 可能会添 加最初为空的其他类型以自定义序列化过 程。 SuspensionManager 在 SessionState 字典中存储状态。 字典会针对唯一绑定到 Frame 的密钥存储 FrameState。 每个 FrameState 字典在该特定框架的导航状态下保留每页的状态。 每个页面会存储导航参数以及用户决定添加的任何其他状态。 以下为其工作原理:当创建 Frame 后,如果你希望为该框架存储状态,则应立即注册它。 使用以下调用 (SuspensionManager.RegisterFrame(rootFrame, AppFrame)) 进行注册。 每个框架都应有与其关联的唯一密钥。 通常大部分应用仅有一个框架。 如果你声明其他框架,则还需要注册该框架。 当注册某个框架后,会在该框架上设置两个附加属性。 第一个属性是与框架关联的密钥,而第二个属性是与框架关联的会话状态字典。 以前注册的框架会立即还原其导航和状态。 也可以取消注册框架,则所有导航状态和历史记录都会被丢弃。 现在我们来看看重要的调用:SaveAsync 和 RestoreAsync。 SaveAsync 用于保存整个 SessionState。 已通过 SuspensionManager.RegisterFrame 注册的所有框架还将保留其当前导航堆栈,该堆栈依次为其活动页面提供保存其数据的机会。 然后,根据 ApplicationData 的定义,使用 DataContractSerializer 对 SessionState 进行序列化并将其写入本地文件夹中存储的文件。 RestoreAsync 用于读取以前保存的 SessionState。 已使用 RegisterFra

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档