导航到 XAML 页面的最有效方法是什么? wp8

What is the most efficient way to Navigate to a XAML page? wp8

假设,我有两个 XAML 页面:MainPage.xaml 和 Page1.xaml。

为了导航到 Page1.xaml,我总是使用此代码:

Page1 mynewPage = new Page1();
this.Content = mynewPage;

但我看到人们使用其他代码进行导航。我这样做效率低下吗?最有效的方法是什么?

那样的话你就没有办法控制了,比如返回,你的情况就得自己编写代码来管理导航,而且你可能需要一次存储每个页面的信息,那当你这样做的时候是自动的。

除此之外,页面之间的转换非常好,可以向用户表明页面正在发生变化。当然,您可以创建自己的过渡,但最后您将自己创建导航。

使用navigation可以控制Navigating和navigated的事件,并用它们来初始化页面等

在windows phone8中,你应该使用"NavigationService"。 NavigationService 包含支持导航并由 Microsoft 实现的方法、属性和事件。

您的代码只是更新内容。它不保留导航历史记录。因此,除非覆盖,否则您不能使用后退按钮。您无法将参数传递给另一个视图,或者您不知道导航已成功结束。

总而言之,导航服务提供了所有这些功能和更多。有关详细信息,您可以从此处查看应用程序导航模型:In-app navigation for Windows Phone 8

使用 this.NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative) );