首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows Phone导航

Windows Phone导航
EN

Stack Overflow用户
提问于 2012-12-13 20:40:43
回答 2查看 598关注 0票数 1

我希望在不重新创建新实例或修改NavigationStack的情况下导航到NavigationStack中的页面。

这个是可能的吗?

例如:

代码语言:javascript
运行
复制
NavigationStack: 
    Page1.xaml
    Page2.xaml
    Page3.xaml

现在假设我在Page1.xaml上,并想再次导航到Page3.xaml。如果我运行

代码语言:javascript
运行
复制
NavigationService.Navigate(new Uri("/Page3.xaml", UriKind.Relative));

它创建另一个Page1对象并导航到该对象,但我想再次使用现有的页面对象。

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2012-12-13 21:05:10

调用NavigationService.Navigate()将创建指定页面的新实例。这就是系统的工作方式。

如果要导航到存在于后台堆栈中的页面,有两个选项。

  1. 查询后台堆栈并返回到有问题的页面。这样做的后果是,您可能会破坏感知到的后台堆栈行为,并且页面生命周期还可能有其他您需要解决的问题。您还需要以不使用查询字符串的方式在导航到的页面之间进行通信。
  2. 具有完全绑定到单一视图模型的页面。也就是说,页面上的所有内容都绑定到视图模型的单个实例。如果您随后导航到该页面的新实例(假设导航不会更改/更新VM),它将具有与后端堆栈上的任何其他实例相同的数据、配置等。

您的应用程序应该遵循中心辐射型结构进行导航。做上面的任何一件事都可能打破用户对预期的看法。如果您执行上述任一操作,请确保与熟悉该平台并了解违反平台约定的任何后果的用户进行彻底的测试。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13860089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档