设为首页 收藏本站
查看: 674|回复: 0

Windows Phone 7开发学习(二)--页面导航

[复制链接]

尚未签到

发表于 2015-5-13 12:56:34 | 显示全部楼层 |阅读模式
  
  今天,我们将要讨论在Windows Phone 7中Silverlight的页面导航问题。出于两个原因,这将会很重要。第一,因为你不想在一个xaml中构建自己的程序。第二,通过遵循原则,你的程序将会自动具有手机内置的Back按钮的功能。它允许你在回到先前想要回到先前状态的时候能够跳转到相应程序。我们明天将会更多的讨论Back按钮。
  页面间有很多方式跳转,但是我将会集中介绍一种。我将会介绍简单网页导航,这正像他听起来一样,我们像网页导航一样来跳转。同样有其他的框架允许你实现这个(例如MVVM),但是本着本篇文章的核心,我们将只会介绍一种。
  简单的网页导航
  我们有不同的页面,并且我们希望给用户一种方式来在其中跳转。让我们建立一个简单的跳转来实现。如下:
  1)创建一个新的Windows Phone应用
   http://www.jeffblankenburg.com/image.axd?picture=newproject_1.png
  2)添加一些新的Windows Phone垂直页面(页面模式分2种,横屏和竖屏)
   http://www.jeffblankenburg.com/image.axd?picture=newpage.png
  我们将会在#4中讨论更多关于页面旋转。现在,让我们只是专注于垂直页面。我已近创建了三个新的页面:Pasta.xaml,Sauce.xaml和Cheese.xaml.我们将会使用集中不同的方式来链接这些页面。
  3)修改页面的标题,让我们知道在哪个页面上
  在每一个你创建的页面上有一个XAML元素名为“Page Title”,并且默认为“page name”。修改这些,这样你将会明显知道自己所在的页面。我喜欢这样做,因为可以减少错误。随着你对复杂工程的深入,你会发现这些代码看起来差不多,为了以后的编写,让我们把这些修改的不一样。
  http://www.jeffblankenburg.com/image.axd?picture=naming.jpg
   4)在MainPage.xaml上创建一些超链接
   为了在页面间创建链接,我们有几个不同的选择。第一个是纯xaml方案。为了这样做,我们可以使用HyperlinkButton控件,如下代码:






当你运行你的城西,你将会能够点击任何一个超链接从而转向到特定链接,使用back按钮就爱那个同样将你转向到先前的屏幕。如果你返回的足够远,你将同样发现当你离开程序的第一个屏幕以后就离开了程序。
5)通过代码在不同页面间跳转
如果你更倾向于使用代码而不是xaml来实现,你可使用任何xaml元素实现。例如,我们将会使用一个按钮,在代码中我已经创建了三个按钮,并且每一个都指向同样的事件处理,在现编的c#代码中,你将会看到我实际上是判断哪一个被点击了,然后将用户导向到相应页面。所有页面使用back按钮都将会工作正常。
XAML





C#

private void Button_Click(object sender, RoutedEventArgs e)
{
Button clickedButton = sender as Button;
switch(clickedButton.Name)
{
case "PastaButton":
NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));
break;
case "SauceButton":
NavigationService.Navigate(new Uri("/Sauce.xaml", UriKind.Relative));
break;
case "CheeseButton":
NavigationService.Navigate(new Uri("/Cheese.xaml", UriKind.Relative));
break;
}
}


正如你所看到的,通过简单的使用NavigationService,用户的所有动作都可以被记录并且使用back按钮将会允许他们通过他们的决策树来返回。
下篇,我们将会探索更多的关于back按钮的作用。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-2-Page-Navigation.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-66623-1-1.html 上篇帖子: Windows 7的“打开或关闭Windows功能”空白的解决方案(转载) 下篇帖子: Windows Phone 7将加入复制粘贴功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表