5

取自练习 1:使用 Microsoft Visual Studio 2010 Express for Windows Phone 创建 Windows Phone 应用程序

任务 3:步骤 9

// navigate
this.NavigationService.Navigate(new Uri("/PuzzlePage.xaml", UriKind.Relative));

注意:
PhoneApplicationPage 类提供了通过其 NavigationService 属性导航到页面的方法和属性。您可以调用 NavigationService 的 Navigate 方法并将页面的 URI 作为参数传递。您还可以使用 GoBack 和 GoForward 方法在导航历史记录中向后或向前导航。硬件后退按钮还提供应用程序内的后退导航。上面显示的事件处理程序使用 NavigationService 转到 PuzzlePage.xaml 页面。

任务 4:步骤 3

(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = 
    new Uri("/ErrorPage.xaml", UriKind.Relative);

注意:
...
每当您将 Source 属性设置为与显示内容不同的值时,框架都会导航到新内容。
...

两种技术的区别和相似之处是什么?

4

1 回答 1

6

本质上,他们都做同样的事情。

NavigationService.Navigate是一种本机 Silverlight 导航服务,允许从一个 xaml 文件到另一个文件的异步导航(无需加载用户控件) - 这里有一个很棒的小概述

不同之处在于NavigationService它能够以浏览器式的方式前后移动。设置的Source属性PhoneApplicationFrame不。

仍处于早期阶段,现在就应该使用哪个做出有根据的猜测可能还为时过早。

NavigationService具有作为 Silverlight 原生类的优势,但PhoneApplicationFrame.Source特定于 WP。

于 2010-05-05T10:09:34.700 回答