windows phone URI映射
UriMapping用于在一个较短的URI和你项目中的xaml页的完整路径定义一个映射(别名)。通过使用别名URI,开发者可以在不改变导航代码的情况下来改变一个项目的内部结构。该机制还提供了一个简单的方法以参数在页面之间传递数据,并可以导航到使用参数动态创建的页面。
一、代码映射URI
主要操作时对app.xaml.cs中对RootFrame的属性UriMapper进行赋值。
在app.xaml.cs中添加方法
/// <summary>
/// 创建UriMapping对象
/// </summary>
/// <param name="uri">请求的uri</param>
/// <param name="mappeduri">导航到的uri</param>
/// <returns></returns>
public UriMapping CreateUriMapping(string uri, string mappeduri)
{
return new UriMapping() {
MappedUri=new Uri(mappeduri,UriKind.Relative),
Uri=new Uri(uri,UriKind.Relative)
};
}
并在InitializePhoneApplication()方法初始化后对RootFrame的UriMapper属性赋值
UriMapper mapper = new UriMapper();
//简单的映射
mapper.UriMappings.Add(CreateUriMapping("Test", "/TestPage.xaml"));
//传递参数
mapper.UriMappings.Add(CreateUriMapping("TestParam/{value1}/{value2}", "/TestPageParam.xaml?id={value1}&name={value2}"));
//导航到使用参数动态创建的页面 NavigationService.Navigate(new Uri("Test1",UriKind.Relative)) 访问TestPage1.xaml
mapper.UriMappings.Add(CreateUriMapping("Test{num}", "/TestPage{num}.xaml"));
RootFrame.UriMapper = new UriMapper();
RootFrame.UriMapper = mapper;
二、使用XAML映射URI
首先要添加命名空间
xmlns:appnavigation="clr-namespace:System.Windows.Navigation;assembly=Microsoft.Phone"
在<Application.Resources>中添加如下代码
<appnavigation:UriMapper x:Key="UriMapper">
<appnavigation:UriMapper.UriMappings>
<appnavigation:UriMapping Uri="Test" MappedUri="/TestPage.xaml" />
<!-- 传递参数是,如传递多个参数时,许将 & 转义为 & -->
<appnavigation:UriMapping Uri="TestParam/{value1}/{value2}" MappedUri="/TestPageParam.xaml?id={value1}&name={value2}"/>
<appnavigation:UriMapping Uri="Test{num}" MappedUri="/TestPage{num}xaml"/>
</appnavigation:UriMapper.UriMappings>
</appnavigation:UriMapper>
最后在app的构造函数中对RootFrame的UriMapper属性赋值,InitializePhoneApplication()方法后
RootFrame.UriMapper = Resources["UriMapper"] as UriMapper;
windows phone URI映射的更多相关文章
- Windows Phone开发(17):URI映射
原文:Windows Phone开发(17):URI映射 前面在讲述导航的知识,也讲了控件,也讲了资源,样式,模板,相信大家对UI部分的内容应该有了很直观的认识了.那么今天讲什么呢?不知道大家在练习导 ...
- 关于WIndows内核自映射方案的通俗解释
在一次操作系统课程上听老师说了这么一个有意思的东西,windows的自映射方案居然达到了把4K的页目录的线性地址“藏”在4M页表里的效果,感觉甚是奇特,于是乎就想着说怎么去算.光会算之后仍旧不满足,我 ...
- windows tcp端口映射或端口转发
windows tcp端口映射或端口转发 windows内部有一个叫netsh的玩意,可以把tcp端口进行映射或转发,可惜不支持udp.举个例子:一台windows有一个80端口,对外可以访问.另有一 ...
- 网站开发进阶(三)Windows NAT端口映射
Windows NAT端口映射 由于有需求进行端口映射,又不想装乱七八糟的软件,Windows本身自带的路由远程访问配置太麻烦,还要两块网卡,坑爹啊. 其实Windows本身命令行支持配置端口映射,条 ...
- windows下端口映射(端口转发)
windows下端口映射(端口转发) 转载: https://blog.csdn.net/i1j2k3/article/details/70228043 本文是对网文的归纳整理,算不上原创,摸索过程亲 ...
- UAP开发错误之The given System.Uri cannot be converted into a Windows.Foundation.Uri(windows phone背景更换)
今天博主在开发一款windows phone应用时,希望实现app背景的更换,思路很简单.使用ApplicationDataContainer容器存储我的图片路径,每次载入应用时读取这个路径以决定我用 ...
- Windows 将FTP 映射到本地文件夹 --简化操作
转载自yutiantongbu Windows 将FTP 映射到本地文件夹 --简化操作 1.右键我的电脑,选择映射网络驱动器 2.选择"连接到可用与存储文档和图片的网站" 3.接 ...
- DirectX11 With Windows SDK--23 立方体映射:动态天空盒的实现
前言 上一章的静态天空盒已经可以满足绝大部分日常使用了.但对于自带反射/折射属性的物体来说,它需要依赖天空盒进行绘制,但静态天空盒并不会记录周边的物体,更不用说正在其周围运动的物体了.因此我们需要在运 ...
- DirectX11 With Windows SDK--22 立方体映射:静态天空盒的读取与实现
前言 这一章我们主要学习由6个纹理所构成的立方体映射,以及用它来实现一个静态天空盒. 但是在此之前先要消除两个误区: 认为这一章的天空盒就是简单的在一个超大立方体的六个面内部贴上天空盒纹理: 认为天空 ...
随机推荐
- 分享php中四种webservice实现的简单架构方法及实例(转)
本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC,以及使用二进制传输数据流的 HessianPHP,那么一下就简单的介绍下这几种webserv ...
- SSL工作原理
关键词:SSL,PKI,MAC 摘 要:SSL利用数据加密.身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证.本文介绍了SSL的产生背景.安全机制.工作过程及典型组 ...
- HOWTO install Oracle 11g on Ubuntu Linux 12.04 (Precise Pangolin) 64bits
安装了Ubuntu 12.04 64bit, 想在上面安装Oracle 11gr2,网上找了好多文档都没成功,最后完全参考了MordicusEtCubitus的文章. 成功安装的关键点:install ...
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
- 小白日记15:kali渗透测试之弱点扫描-漏扫三招、漏洞管理、CVE、CVSS、NVD
发现漏洞 弱点发现方法: 1.基于端口服务扫描结果版本信息,比对其是否为最新版本,若不是则去其 官网查看其补丁列表,然后去逐个尝试,但是此法弊端很大,因为各种端口应用比较多,造成耗时大. 2.搜索已公 ...
- spring mvc 使用Optional
return Optional.ofNullable(brokerRepository.findOne(id)) .map(broker -> new ResponseEntity<> ...
- python(1) - 字符串
前面说过了,字符串也是一种数据类型,但字符串有一个特殊的问题,就是编码. 因为计算机是美国人发明的,所以最早只有127个字符被编码到计算机里,就是大小写英文字母,数字和一些符号,这个编码表被称为ASC ...
- windows进程的创建方法
1.WinExec(LPCSTR lpCmdLine,UINT uCmdShow) >>参数: lpCmdLine:指定程序的相对路径或绝对路径,命令行参数 uCmdShow:指定窗口的显 ...
- Xcode磁盘空间大清理(转)
Xcode磁盘空间大清理 我的设备是Macbook Air 13’ Mid 2011,128G SSD.最近开始有些存储压力了,用Clean My Mac清理一部分旧文件后,决定对Xcode动手. 移 ...
- saltstack实战4--综合练习4
Saltstack配置管理-给minion增加Zabbix-agent zabbix-agent的包 [root@A ~]# rpm -qa |grep zabbix zabbix-2.4.8-1.e ...