Windows Phone页面导航和独立存储开发总结
2013-03-10 17:39
531 查看
一、页面导航
windows phone页面导航可以通过两种方法进行设置:一种是直接在XAML中设置;另一种则需要通过编码在托管代码中实现。二者相同的地方是它们最终都需要使用NavigationService类,再调用Navigate方法实现导航。1、在XAML中设置导航
最简单直接的方式,找到控件,为属性NavigateUri赋值即可,以常用的HyperlinkButton为例:<HyperlinkButton Content="图片" Height="30" Name="lbtnPicture" Width="200" NavigateUri="/View/Pictures.xaml" />
其中,使用“/”意味着这是一个相对链接,Silverlight for Windows Phone目录层次的路径操作比较严格,如将前面的“/”去掉,编译器将报错并停止运行。
2、托管代码中设置导航
(1)、直接传入URIvoid lbtnPicture_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("/View/Pictures.xaml", UriKind.Relative)); }
(2)、使用地址别名
地址别名是web技术中的一项很好的扩展,windows phone开发中同样适用。可以将较长命名的URI缩短为一段较短且好记的URI来呈现,比如将/View/Pictures.xaml缩短为Pic:
void lbtnPicture_Click(object sender, RoutedEventArgs e) { NavigationService.Navigate(new Uri("Pic", UriKind.Relative)); }
看到“Pic”大家会想到它一定映射到具体的某个URI(“/View/Pictures.xaml”)。如何进行映射呢?
需要在App.xaml.cs文件中额外引入UriMapper别名,映射所在的命名空间如下所示:
xmlns:navigation="clr-namespace:System.Windows.Navigation;assembly=Microsoft.Phone"
实现地址别名,是基于Microsoft.Phone链接库的,接着就是配置对应的映射关系:
<navigation:UriMapper x:Key="UriMap"> <navigation:UriMapping Uri="Pic" MappedUri="/View/Pictures.xaml" /> </navigation:UriMapper>
接着,我们要在App.xaml.cs的构造函数中获取地址别名,将地址别名的key提取到UriMapper对象中:
ConfigFileOperationsvoid SettingsOperation() { var appUser = "AppUser"; var settings = IsolatedStorageSettings.ApplicationSettings; if (settings.Contains(appUser)) //是否存在特定键 { MessageBox.Show(settings[appUser] == null ? string.Empty : settings[appUser].ToString()); settings[appUser] = "jeffwong@cnblogs.com"; //更新key对应的值 } else { settings.Add(appUser, "jeffwong"); } settings.Save(); //保存 settings.Remove(appUser); //从独立存储中移除键/值对。如key不存在,返回false,不会删除任何项,也不会引发任何异常 var userName = string.Empty; bool isOK = settings.TryGetValue<string>(appUser, out userName); if (isOK) { MessageBox.Show(userName); } var loginCount = 0; isOK = settings.TryGetValue<int>("logincount", out loginCount); //获取登录次数 if (isOK) { MessageBox.Show(loginCount.ToString()); } }
参考:
http://msdn.microsoft.com/zh-cn/library/system.windows.navigation.navigationservice.aspx
http://msdn.microsoft.com/zh-cn/library/x7dzh4ws(v=VS.95).aspx
http://msdn.microsoft.com/zh-cn/magazine/dd434650.aspx
http://dev.windowsphone.com/zh-cn
http://www.cnblogs.com/linzheng/
相关文章推荐
- Windows Phone页面导航和独立存储开发总结
- [2011.12.03] MVVM 模式开发Windows Phone程序处理页面导航
- Windows Phone 7 开发探索笔记5——页面间导航
- Windows Phone开发之独立存储、文件的读写、ListBox绑定数据、NavigationService实现XAML跳转
- Windows Phone 7 开发 31 日谈——第2日:页面间导航
- Windows Phone实用开发技巧(39):WebBrowser引用独立存储空间中的图片
- Windows Phone 8初学者开发—第18部分:在页面间导航
- Windows Phone开发之路(18) 独立存储
- Windows Phone开发之独立存储二
- Windows Phone 7 开发 31 日谈——第15日:独立存储
- Windows Phone 7 开发 31 日谈——第2日:页面导航
- Windows Phone 7 开发 31 日谈——第2日:页面导航
- Windows phone开发初体验之(二)-页面导航
- Windows Phone 7(WP7)开发工具 查看独立存储空间中数据库内容
- Windows Phone 8初学者开发—第18部分:在页面间导航
- Windows Phone开发之独立存储的两种使用方法小结
- Windows phone开发初体验之-页面导航
- Windows Phone 7开发——页面间导航【转】
- Windows Phone 7开发学习(二)--页面导航
- Windows Phone 8初学者开发—第19部分:设置RecordAudio.xaml页面