当前位置:编程学习 > wap >>

[翻译]WP7 QuickStart-第十篇-页面导航

 

原文地址:http://create.msdn.com/en-US/education/quickstarts/Navigation

 

【译者注:这篇文章是翻译自微软官方的WP7 QuickStart的第十篇,讲述WP下的页面导航。部分内容加入了自己的理解和表达习惯。而翻译此系列的主要目的一是为了练习英语,二是让自己作为一个 BI开发者对WP7的开发有一个了解。部分翻译不当的地方望各位高人指出批评指正】

 

Windows Phone下的导航可以定义为是允许用户在不同内容的页面之间的来回移动。这种导航模型使你能创建更符合Windows Phone的基于视图的应用程序。此篇主要描述在程序中如何在不同页面之间导航。

 

主要包括以下内容:

框架和页面

页面导航

数据的传递

应用程序栏

后退按钮

 

框架和页面

在Windows Phone下的导航和传统中的Silverlight比较相似,但是它已经被扩展成搭载手机特殊功能的方式。这个导航模型基于PhoneApplicationFrame控件。这个控件包含用户可以导航的一个或者多个PhoneApplicationPage控件。

clip_image001

页面是一个持续状态的集合,它可以视为一个包含内容或者链接到其它页面的链接的Silverlight页面。应用程序中也可以包含弹出页面,消息框,登录页面以及初始屏幕。

只有两个页面之间的移动才被认为是Windows Phone的导航。从登录界面或者初始屏幕移动到主页面是不被认为是导航,而是转移【译者注:Transition】。

 

页面导航

页面导航最简单的方式就是通过HyperlinkButton控件,其中的NavigationUri属性用来指定导航到哪个页面。下面的示例演示如何从一个页面导航到另一个叫SecondPage.xaml的页面。

XAML

<HyperlinkButton NavigateUri="SecondPage.xaml" />

如果不想使用HyperlinkButton,可以使用NavigationService来实现导航。这个类包含一些属性和方法以及事件来帮助你完成导航。其中的NavigationService.Navigate方法用来导航到一个指定的页面。从一个页面导航到另一个页面,遵循下面的步骤。

1. 在Visual Studio里创建一个Windows Phone应用程序。

2. 填加一个Windows Phone纵向页面,名称为SecondPage.xaml,主页面MainPage将导航到这个页面。

3. 使用NavigationService.Navigate方法导航到SecondPage.xaml。

4. 使用NavigationService.GoBack方法返回到MainPage.xaml

下面的示例创建两个页面,名称为Home页和Second页。你可以在Home页面单击“Go to the second page”按钮跳转到Second页面。这就是用到了在按钮的单击事件处理中调用NavigationService.Navigate方法以及Second页面的URL信息实现的。在Second页面中也可以单击“Go back to Main Page”按钮返回到Home页面,这里调用的是NavigationService.GoBack方法。这个方法将后退到最近的一个页面,在这个示例里就是Home页面。在这个方法被调用之前,需要通过NavigationService.CanGoBack属性判定下是否存在回退到的页面。

提示:

尽管这个示例中用到的是NavigationService.GoBack方法,点击设备上的后退按钮一样也是可以导航到前一个页面的。

MainPage.xaml

<Grid x:Name="LayoutRoot" Background="Transparent">

<Grid.RowDefinitions>

<RowDefinition Height="Auto"/>

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,