Windows Phone 7编程学习点滴一——页面切换、返回键重载和工具栏
1. 页面切换和对齐方式 2
(1)XAML实现方式
<HyperlinkButton Content="TestPage1" NavigateUri="/TestPage1.xaml" Height="30" HorizontalAlignment="Left" Margin="10,10,0,0" Name="TestPage1Link" VerticalAlignment="Top" Width="200" /> <HyperlinkButton Content="TestPage2" NavigateUri="/TestPage2.xaml" Height="30" HorizontalAlignment="Center" Margin="10,10,0,0" Name="TestPage2Link" VerticalAlignment="Top" Width="200" /> <HyperlinkButton Content="TestPage3" NavigateUri="/TestPage3.xaml" Height="30" HorizontalAlignment="Right" Margin="10,10,0,0" Name="TestPage3Link" VerticalAlignment="Top" Width="200" />
(2)XAML + 代码实现方式
XAML:
<Button x:Name="TestPage1Button" Content="TestPage1" Click="Button_Click" HorizontalAlignment="Left" Width="200" Height="75" /> <Button x:Name="TestPage2Button" Content="TestPage2" Click="Button_Click" HorizontalAlignment="Center" Width="200" Height="75" /> <Button x:Name="TestPage3Button" Content="TestPage3" Click="Button_Click" HorizontalAlignment="Right" Width="200" Height="75" />
Code:
双点其中的按键之一,然后增加代码。
1 private void Button_Click(object sender, RoutedEventArgs e) 2 { 3 Button clickedButton = sender as Button; 4 switch (clickedButton.Name) 5 { 6 case "TestPage1Button": 7 NavigationService.Navigate(new Uri("/TestPage1.xaml", UriKind.Relative)); 8 break; 9 case "TestPage2Button": 10 NavigationService.Navigate(new Uri("/TestPage2.xaml", UriKind.Relative)); 11 break; 12 case "TestPage3Button": 13 NavigationService.Navigate(new Uri("/TestPage3.xaml", UriKind.Relative)); 14 break; 15 }
23 返回键:Windows Phone中重写返回键的代码如下
1 protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) 2 { 3 // 编写的代码 4 e.Cancel = true; //取消默认行为。 5 }
3 工具栏(Expression Blend)
在MainPage.xaml文件中有段被注释掉的代码,如下:
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1"/> <shell:ApplicationBarMenuItem Text="MenuItem 2"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
一旦你在程序中添加了工具栏,你就应该能看到Visual Studio很智能地将程序的DesignHeight属性调整了72个像素。那正是工具栏的高度!
你可能会注意到它指向了两个当前不在你的项目中的图片。在 Expression Blend 中打开你的项目,导航到 “Objects and Timeline” 直到找到那些 ApplicationBarIconButton 对象。当选中任何一个 ApplicationBarIconButton 时,看一下属性标签。你会看到一种设置每个图标和文字的简便方法。
如果打开IconUri下拉框时,会看到很多可以用在程序中的标准图标。
现在,你的程序中已经有了漂亮的按钮,但在你点击它们时它不会做任何事情。此时,它们和你XAML文件中的其他东西一样。需要给它们添加一个Click事件,以及后置代码中的一个事件处理程序。下面是这个简单程序的XAML和C#代码:
XAML:
<shell:ApplicationBarIconButton x:Name="AddButton" IconUri="/icons/appbar.add.rest.png" Text="Add" Click="AddButton_Click"/> <shell:ApplicationBarIconButton x:Name="SubtractButton" IconUri="/icons/appbar.minus.rest.png" Text="Subtract" Click="SubtractButton_Click"/>
代码:
1 private void AddButton_Click(object sender, EventArgs e) 2 { 3 Counter.Text = (Int32.Parse(Counter.Text.ToString()) + 1).ToString(); 4 } 5 private void SubtractButton_Click(object sender, EventArgs e) 6 { 7 Counter.Text = (Int32.Parse(Counter.Text.ToString()) - 1).ToString(); 8 }
转载于:https://www.cnblogs.com/91program/p/5215681.html
Windows Phone 7编程学习点滴一——页面切换、返回键重载和工具栏相关推荐
- 寒江独钓windows 内核安全编程学习笔记
寒江独钓windows 内核安全编程学习笔记 本博客记录自己的学习过程,如有侵犯或者打扰请告知. 由于项目的需求,第一次接触到驱动程序.开始学习了寒江大神的的内核安全编程.小白一个,第一章就遇到了问题 ...
- Windows批处理程序编程学习笔记
Windows批处理学习笔记(基础篇) 第一章 从零开始认识批处理(what why how) 1.1 什么是Windows批处理? 批处理程序全名为 Batch file programming 是 ...
- Windows 2008 R2 ServerCore学习点滴(1)
1.ServerCore 修改计算机名 命令行下输入:Sconfig.cmd,即可以调出 按照提示操作即可. 2.计算机退域 重启生效. 3.激活Windows (1).通过slmgr.vbs输入产品 ...
- vue从其它页面返回_vue页面按返回键等跳转重定向判断
情景:用户购物车-结算页-支付后跳转到跳转到订单列表,当按返回时重定向到首页 1.使用this.$router.replace() 2. mounted() { // 挂载完成后,判断浏览器是否支持p ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(3月1日-3月5日)
休假一个月,没有更新Silverlight/WPF/Windows Phone学习导读.从本周开始继续分享每周最新的Silverlight/WPF/Windows Phone开发学习导读. 本周Sil ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(8月22日-8月27日)
分享Silverlight/WPF/Windows Phone一周学习导读(8月22日-8月27日) 本周Silverlight学习资源更新: ASP.NET与Silverlight简单对比 aa54 ...
- React-Navigation的goBack()跳转到指定页面,以及不同栈之间的页面的返回操作
背景: 在做项目时使用React-Navigation进行页面管理.有两个需求 1:在我的中进入界面,从主界面A进入B,B进入C,C进入D,在D中点击返回键要求直接返回到A中. 2:从当前的通讯录中的 ...
- 堆栈——Windows核心编程学习手札之十八
堆栈 --Windows核心编程学习手札之十八 堆栈可以用来分配许多较小的数据块,可以不考虑分配粒度和页面边界之类的问题,但分配和释放内存块的速度比其他机制要慢,并且无法直接控制物理存储器的提交和回收 ...
- 内存映射文件——Windows核心编程学习手札之十七
内存映射文件 --Windows核心编程学习手札之十七 与虚拟内存一样,内存映射文件保留地址空间,并将物理存储器提交给该区域,差别在于所提交的物理存储器是磁盘上有文件存在的空间,而非系统的页文件,一旦 ...
最新文章
- 32位centos下安装jdk1.7报Permission denied处理方式
- 随机生成图像 与 图像的转维(reshape)
- 如何使用腾讯云提供的虚拟主机
- Azure Sentinel -- 初探系列二 案件调查及追踪
- 设置拖拽事件,获取拖拽内容
- 浅析Java内存模型
- JavaScript==比较的规则
- 程序员实用算法 源码_程序员必须知道的十大基础实用算法综述
- Qt5.10编写FTP客户端
- xmlspy2014 安装与破解
- DayDayUp:罗振宇—2018.12.31年终秀——《时间的朋友》跨年演讲重点概览【文字+视频】
- 二极管 三极管 mos管
- tp1900芯片对比7621a_TP无线路由器WDR7660千兆版,厉害了单芯片TP1900
- Word自动目录字体修改和行间距的问题
- 【Java】Java基础之Lambda表达式和Stream流
- Pandas合并表格的方法总结
- 织梦采集-织梦采集教程-织梦采集插件下载教程
- 网页脚本输入这么简单
- 如何治好这quot;看见别人好就不幸…
- 2008福布斯400富豪榜上的大陆富豪
热门文章
- 检查linux是否安装zlib,Linux下安装zlib
- tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用
- java jdk 1.8 配置_Java开发环境jdk 1.8安装配置方法(Win7 64位系统/windows server 2008)...
- java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用
- tls 禁用重协商_TLS Https连接失败问题(协商失败)
- step如何打开服务器项目,STEP7项目打开及删除
- java 构建是什么意思_构建的概念
- vue 模板_简化版的 vue 页面模板语法
- linux php环境升级,php5.6升级到php7.1.10(Linux环境)
- c++ gdb 绑定源码_【Vue原理】VNode 源码版