2

我只是在学习如何在页面和墓碑之间导航。我想知道是否有人可以向我指出一些很好的例子,这些例子不仅向我展示了如何正确使用导航的基础知识,而且还向我展示了更复杂和高级导航问题的好例子?

  • 在导航到其他页面并返回时,我有一些关于内存泄漏的问题?
  • 是否有关闭页面调用,一旦页面完成它的工作(我不希望它的实例在我完成后挂起)?
  • 另一个问题是如果应用程序被墓碑化(仍然试图围绕这个术语),我如何保持状态。

谢谢!

4

4 回答 4

4

没有关闭页面调用,操作系统会在页面退出时自动关闭页面并释放使用的内存(因此这里应该没有泄漏)。

这里的一些资源涵盖了墓碑和高级导航概念。

了解 Windows Phone 应用程序执行模型、墓碑、启动器和选择器,以及即将推出的其他一些东西 - 第 1部分、第 2部分、第 3 部分

介绍“地点”的概念 - Peter Torr 的博客

重定向初始导航 - Peter Torr 的博客

于 2010-11-25T21:29:57.633 回答
1

另一个问题是如果应用程序被墓碑化(仍然试图围绕这个术语),我如何保持状态。

使用隔离存储。

于 2010-12-08T04:45:35.003 回答
1

我喜欢把 WP7 导航想象成一个只有后退按钮的简单浏览器。Naviation 模型是基于堆栈模式(Last In First Out)的,需要遍历所有才能回到首页。这不是 PC 用户习惯的,但在移动世界中是最好的解决方案之一。你必须坚持这种模式,永远不要做“转到主页”按钮——你的应用肯定不会通过认证(有一些解决方法,但我不建议这样做)。很多页面会让用户生气,这就是为什么一个好主意是最多有 3 到 5 个页面。例如,第一页用户选择他要做什么,下一页是登录页面,然后对于更复杂的界面使用全景和枢轴控制。

向简单浏览器模型添加 cookie。当您的浏览器加载一个页面时,它会设置一个包含一些信息的 cookie,然后您关闭浏览器,当您返回该页面时,它可以从该 cookie 中获取先前的状态。墓碑是非常相似的。-链接。有关墓碑的更多信息

在导航到其他页面并返回时,我有一些关于内存泄漏的问题?

内存泄漏是什么意思?您正在托管框架中工作。

是否有关闭页面调用,一旦页面完成它的工作(我不希望它的实例在我完成后挂起)?

您不必这样做。除非线程仍在该处工作,否则每次转到下一页时页面都会被销毁。

另一个问题是如果应用程序被墓碑化(仍然试图围绕这个术语),我如何保持状态。

基本上由开发人员来管理这个。这不是强制性的,但可以提供良好的用户体验。

于 2010-11-25T20:29:06.230 回答
0

您可以查看我最近发布的 WP7 源代码 ( http://columbus.codeplex.com/ ) 的 Columbus MVC 框架。Columbus 解决了 Navigation 和 Tombstoning(提供强类型导航以及可以在 tombstoning 中幸存的历史和视图模型)。

于 2010-12-08T12:24:16.827 回答