Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Navigation Windows Phone导航_Navigation_Windows Phone 7.1_Windows Phone_Windows Phone 8 - Fatal编程技术网

Navigation Windows Phone导航

Navigation Windows Phone导航,navigation,windows-phone-7.1,windows-phone,windows-phone-8,Navigation,Windows Phone 7.1,Windows Phone,Windows Phone 8,我希望导航到NavigationStack中的某个页面,而无需重新创建新实例或修改NavigationStack 这可能吗 例如: NavigationStack: Page1.xaml Page2.xaml Page3.xaml 现在假设我在Page1.xaml上,并且想再次导航到Page3.xaml。 如果运行它,将创建另一个Page1对象并导航到该对象,但我希望再次使用现有的Page1对象 谢谢调用导航服务。导航()将创建指定页面的新实例。这就是系统的工作方式

我希望导航到NavigationStack中的某个页面,而无需重新创建新实例或修改NavigationStack

这可能吗

例如:

NavigationStack: 
    Page1.xaml
    Page2.xaml
    Page3.xaml
现在假设我在Page1.xaml上,并且想再次导航到Page3.xaml。 如果运行它,将创建另一个Page1对象并导航到该对象,但我希望再次使用现有的Page1对象


谢谢

调用
导航服务。导航()
将创建指定页面的新实例。这就是系统的工作方式

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

  • 查询后堆栈并返回到有问题的页面。这样做的后果是,您可能会破坏感知到的后堆栈行为,页面生命周期可能还有其他问题需要解决。您还需要以不使用查询字符串的方式在导航到的页面之间进行通信

  • 将页面完全绑定到单一视图模型。i、 e.页面上的所有内容都绑定到视图模型的单个实例。然后,如果您导航到该页面的新实例(假设导航没有改变/更新VM),它将具有与后堆栈上的任何其他实例相同的数据、配置等

  • 您的应用程序应该遵循中心辐射结构进行导航。执行上述任一操作都可能会打破用户对预期内容的认知。如果您执行上述任一操作,请确保与熟悉平台的用户进行彻底测试,并了解违反平台惯例的任何后果。

    查看


    每个页面都是在应用程序启动时创建的静态对象

    您希望它返回到您之前的页面,并希望该页面返回到您第一次离开时的页面?是的,这正是我想要表达的意思。我如何查询backbackback?例如,我在第3页上,想在第1页上导航,那么我如何知道第1页实例已经存在于后台?@Android_在问题的示例中,如果他们到达第3页,他们总是知道有第1页。有关如何使用堆栈,请参见
    NavigationService.Navigate(new Uri("/Page3.xaml", UriKind.Relative));