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编程学习点滴一——页面切换、返回键重载和工具栏相关推荐

  1. 寒江独钓windows 内核安全编程学习笔记

    寒江独钓windows 内核安全编程学习笔记 本博客记录自己的学习过程,如有侵犯或者打扰请告知. 由于项目的需求,第一次接触到驱动程序.开始学习了寒江大神的的内核安全编程.小白一个,第一章就遇到了问题 ...

  2. Windows批处理程序编程学习笔记

    Windows批处理学习笔记(基础篇) 第一章 从零开始认识批处理(what why how) 1.1 什么是Windows批处理? 批处理程序全名为 Batch file programming 是 ...

  3. Windows 2008 R2 ServerCore学习点滴(1)

    1.ServerCore 修改计算机名 命令行下输入:Sconfig.cmd,即可以调出 按照提示操作即可. 2.计算机退域 重启生效. 3.激活Windows (1).通过slmgr.vbs输入产品 ...

  4. vue从其它页面返回_vue页面按返回键等跳转重定向判断

    情景:用户购物车-结算页-支付后跳转到跳转到订单列表,当按返回时重定向到首页 1.使用this.$router.replace() 2. mounted() { // 挂载完成后,判断浏览器是否支持p ...

  5. 分享Silverlight/WPF/Windows Phone一周学习导读(3月1日-3月5日)

    休假一个月,没有更新Silverlight/WPF/Windows Phone学习导读.从本周开始继续分享每周最新的Silverlight/WPF/Windows Phone开发学习导读. 本周Sil ...

  6. 分享Silverlight/WPF/Windows Phone一周学习导读(8月22日-8月27日)

    分享Silverlight/WPF/Windows Phone一周学习导读(8月22日-8月27日) 本周Silverlight学习资源更新: ASP.NET与Silverlight简单对比 aa54 ...

  7. React-Navigation的goBack()跳转到指定页面,以及不同栈之间的页面的返回操作

    背景: 在做项目时使用React-Navigation进行页面管理.有两个需求 1:在我的中进入界面,从主界面A进入B,B进入C,C进入D,在D中点击返回键要求直接返回到A中. 2:从当前的通讯录中的 ...

  8. 堆栈——Windows核心编程学习手札之十八

    堆栈 --Windows核心编程学习手札之十八 堆栈可以用来分配许多较小的数据块,可以不考虑分配粒度和页面边界之类的问题,但分配和释放内存块的速度比其他机制要慢,并且无法直接控制物理存储器的提交和回收 ...

  9. 内存映射文件——Windows核心编程学习手札之十七

    内存映射文件 --Windows核心编程学习手札之十七 与虚拟内存一样,内存映射文件保留地址空间,并将物理存储器提交给该区域,差别在于所提交的物理存储器是磁盘上有文件存在的空间,而非系统的页文件,一旦 ...

最新文章

  1. 32位centos下安装jdk1.7报Permission denied处理方式
  2. 随机生成图像 与 图像的转维(reshape)
  3. 如何使用腾讯云提供的虚拟主机
  4. Azure Sentinel -- 初探系列二 案件调查及追踪
  5. 设置拖拽事件,获取拖拽内容
  6. 浅析Java内存模型
  7. JavaScript==比较的规则
  8. 程序员实用算法 源码_程序员必须知道的十大基础实用算法综述
  9. Qt5.10编写FTP客户端
  10. xmlspy2014 安装与破解
  11. DayDayUp:罗振宇—2018.12.31年终秀——《时间的朋友》跨年演讲重点概览【文字+视频】
  12. 二极管 三极管 mos管
  13. tp1900芯片对比7621a_TP无线路由器WDR7660千兆版,厉害了单芯片TP1900
  14. Word自动目录字体修改和行间距的问题
  15. 【Java】Java基础之Lambda表达式和Stream流
  16. Pandas合并表格的方法总结
  17. 织梦采集-织梦采集教程-织梦采集插件下载教程
  18. 网页脚本输入这么简单
  19. 如何治好这quot;看见别人好就不幸…
  20. 2008福布斯400富豪榜上的大陆富豪

热门文章

  1. 检查linux是否安装zlib,Linux下安装zlib
  2. tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用
  3. java jdk 1.8 配置_Java开发环境jdk 1.8安装配置方法(Win7 64位系统/windows server 2008)...
  4. java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用
  5. tls 禁用重协商_TLS Https连接失败问题(协商失败)
  6. step如何打开服务器项目,STEP7项目打开及删除
  7. java 构建是什么意思_构建的概念
  8. vue 模板_简化版的 vue 页面模板语法
  9. linux php环境升级,php5.6升级到php7.1.10(Linux环境)
  10. c++ gdb 绑定源码_【Vue原理】VNode 源码版