博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Phone7页面导航
阅读量:4962 次
发布时间:2019-06-12

本文共 1862 字,大约阅读时间需要 6 分钟。

跟林永坚老师学WP7开发

  • 内容概览
  • 使用xaml进行导航
  • 使用C#代码进行导航
  • 地址别名
  • 页面之间的数据传递
  • 回退按钮

 为了更好的控制导航,我们需要先知道页面的架构与框架:

  • Frame  
    • 只有一个单独的PhoneApplicationFrame
    • 包含一个或多个PhoneApplicationPage
    • 也包含系统托盘和应用程序栏
  • Page
    • 包含标题,可以有独立的应用程序栏
    • Page之间可以相互导航
  • SIlverlight for window phone 使用以页面为基础的页面导航
    • 与web的页面导航类似
    • 每个独立的都有唯一的URI
    • 每个独立的页面都是没有状态的

概念介绍完了,下面就是例子了:

  • XAML中使用导航

在导航里的一个很重要的控件:hyplinkbutton,所以我先拖四个hyplinkbutton到界面中来,

这样就是主页面了,接下来再创建一个新的导航到的页面Music.xaml到views目录下,然后添加contant为音乐的hyperlinkbutton的NavigateUri

 这样启动程序就可以正常的导航了,下面的三个按照同样的操作就可以了,

    • 用C#代码进行导航(使用到一个很重要的类)

    • 使用别名进行导航需要3步:第一步需要在App.xaml文件里定义映射规则,第二部在App.xaml.cs里初始化这个定义的Resource

      第二部在App.xaml.cs里初始化这个定义的Resource

第三步:在页面里使用,把HyperLinkButton的NavigationURi属性修改成如下,到此别名导航就完成了。

  •   页面间传递数据,最常用的是通过QueryString来传递数据,

      在Music.xaml页面被加载的时候我们就显示传递过来的参数,

    using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Microsoft.Phone.Controls;namespace PageNavigation.views{    public partial class Music : PhoneApplicationPage    {        public Music()        {            InitializeComponent();        }        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)        {            if (NavigationContext.QueryString.Count > 0)            {                textBlock1.Text = NavigationContext.QueryString["song"];            }        }    }}

      

  • 使用别名来传递参数,首先需要修改App.xaml里的映射规则

 页面修改为

  注意:NavigationService默认不能传递对象(可以通过使用App类的静态属性、SIngleton类、把对象分解为QueryString来传递......)

 

转载于:https://www.cnblogs.com/LittleFeiHu/archive/2012/02/26/2368377.html

你可能感兴趣的文章
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
(四)hadoop系列之__hadoop搭建(单机配置)
查看>>
sphinx2.8.8的配置文件
查看>>
Visual Studio 2019 正式版 更新内容
查看>>
React Native 的组件之底部导航栏 TabBarIOS(一)
查看>>
JSP EL表达式详细介绍(转)
查看>>
软件模块划分原理
查看>>
Black Widow CodeForces - 704C (dp)
查看>>
Memcached安装指南(linux)
查看>>
Nginx配置域名转发实例
查看>>
页面访问的常见错误码解析
查看>>
hdu 3183 A Magic Lamp 贪心
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
面试题14 调整数组顺序使奇数位于偶数前面
查看>>
grid网格布局
查看>>
flask简单的注册功能
查看>>
JSP常用标签
查看>>
通过自动回复机器人学Mybatis---基础版
查看>>
Java中的super的使用
查看>>