关闭
关闭
首页 > 嵌入式软件 > windows phone
在开如之前,我想更正一个小问题,之前我在第一篇文章中说,Visual Studio Express for Windows Phone的中文版没有简体中文,那是因为我是在英文主页上下载的,语言选择列表中只有一个中文,但是繁体的,后来,我发现Windwos Phone SDK是有简体中文版的,顺便我也给出下载地址。
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0a373422-6680-46a7-89e1-e9a468a14259
可以在线安装,如果你的网速不给力的话,可以下载ISO镜像本地安装。
----------------------------------

上一篇文章中,我们了解了WP应用程序的生命周期和各个事件的触发情况,今天,我们一起来探讨一下框架和页面。
理论枯躁的东西就不讲了,MSDN上都有的,具体一点,我们随便新建一个WP应用程序项目,接着打开App.xaml.cs文件瞧瞧,看看里面有没有“新大陆”?

1、一个App类,从
Application派生,这跟Silverlight中是一样的,当然,如果你对Silerlight不熟悉也不要紧,我简单吹一下。
我想各位玩过C#的,不管怎么说也应该玩过Windows窗体应用程序吧,对,就是我们常说的WinForm项目,在WindowsForm项目里面,有一个Program.cs之类的文件,程序的入口点就在里面定义,在Main的最后,VS默认生成的代码中有这么一行:Application.Run(...);
所以,这个Application和那个Application的意义是一样,专门负责整个应用程序范围的各种事务的协调。
2、我们会注意到App里面有一个公共属性RootFrame,这就是主框架,一个WP应用程序只有一个主框架。
 
 
 
 
3、主框架下面是页,主框架中可以包含1个或N多个页面。
4、页面这个概念很好理解,就像我们平时看到的一个窗体,只不过在Silverlight里面叫页,所以,我们也可以联想起Web页面。在Android里面叫一个Activity,其实所指的东东是一样的,只是叫法不同罢了。下图所示为一个页。
 
 
好的,下面来看一下一个页面是如何构成的。
先来看看页面的XAML声明部分。
 
[html]
  1. <phone:PhoneApplicationPage   
  2.     x:Class="phoneApp.MainPage"  
  3.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  4.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  5.     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"  
  6.     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"  
  7.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
  8.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
  9.     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"  
  10.     FontFamily="{StaticResource PhoneFontFamilyNormal}"  
  11.     FontSize="{StaticResource PhoneFontSizeNormal}"  
  12.     Foreground="{StaticResource PhoneForegroundBrush}"  
  13.     SupportedOrientations="Portrait" Orientation="Portrait"  
  14.     shell:SystemTray.IsVisible="True">  
  15.   
  16.     ……………………  

我们看到,每一个页面都是PhoneApplicationPage的子类,它是继承自Silverlight中的Page类。
因为程序是面向WP手机的,所以注意要使用PhoneApplicationPage而不是用Page类,这样可以避免出问题。Class属性就是我们这个页面类的类名。
d可以理解为是设计时的状态,d:DesignWidth="480"就是说这个宽度和高度只是在设计时有效,也就是我们在设计器中看到的大小,并不意味着真正运行起来是这个值,有可能会随着手机屏幕的不同而自动调整,所以我们不应该刻意地设置页面的宽度和高度,以免被固定了,不能自动调整。
mc是什么呢?从语义上翻译是,是标记兼容性相关的内容,其中我们看到一句:mc:Ignorable="d",正如上面所说,d:DesignWidth是设计时的,所以,Ignorable="d"就是告诉编译器在实际运行时,忽略设计时设置的值。
SupportedOrientations用于设置页面支持的方向,如果我们希望在手机屏幕被用户旋转后,程序能够自动跟着调整,就相应地修改该属性。
Orientation属性就是用来设置当前页面的默认方向,是纵向的还是横向的。
下面,一起来做个练习,把SupportedOrientations改为PortraitOrLandscape,再把Orientation改为除None以外的其它值,然后运行,把手机向不同方向旋转,看看怎么样?
 
 
 
 
 
 
这个大家多改改,多试几次就明白了,挺有意思的。
还有一个,shell:SystemTray.IsVisible="True"用于设置是否隐藏系统托盘,我们把它设置为True时,运行程序,把鼠标移到页面顶部点击一下,我们就会看到系统托盘了,如显示当前手机信号强度,电池剩余量等信息。
换一批

延伸阅读

[新鲜事] 难以置信!美国五角大楼电脑竟还在使用Windows98系统

难以置信!美国五角大楼电脑竟还在使用Windows98系统

众所周知,五角大楼是美国最机密的大楼,而据外媒消息,大楼中的电脑居然多半系统还停留在Windows 95、98上,真是让人难以置信。......

关键字:美国 Windows 98 Windows 10 黑客

[新鲜事] AMD Ryzen在Windows 10下支持不佳 这个锅微软自己背了

AMD Ryzen在Windows 10下支持不佳 这个锅微软自己背了

此前有报道称,AMD Ryzen在Windows 10下支持不佳的情况引起了网友的关注,而据报道,这可能是涉及SMT(同步多线程)的负载分配和缓存出错。而外媒都倾向于把它归咎给微软,也有人愤愤不平,难道AMD自己就一点事也没有?......

关键字:AMD Ryzen Windows 10

[新鲜事] Intel微软联合使坏:新处理器只能用Windows 10

Intel微软联合使坏:新处理器只能用Windows 10

Intel和微软是PC时代的软硬两大霸主,如今虽然各有各的打算,但也会紧密合作,比如在系统支持方面。 ......

关键字:Intel 微软 处理器 Windows 10

[新鲜事] Windows 10以后不会再“蓝屏”了,改为“绿屏”。

Windows 10以后不会再“蓝屏”了,改为“绿屏”。

Win10 Build 14997曝光之后,用户们发先了不少“宝”,比如专门为夜间用户新增了“低蓝光模式”、“鸡血”模式等等。现在,又有一个新的细节被发现:“死机”绿屏。......

关键字:Windows 10 绿屏 死机

[新鲜事] 三星Galaxy将可以指纹解锁任何Windows 10设备

三星Galaxy将可以指纹解锁任何Windows 10设备

韩国手机制造商三星宣布计划扩展支持其流Android应用程序,以支持所有Windows 10设备和4月即将发布的创作者更新。......

关键字:三星 Android Galaxy Windows 10

[真心话] 不比不知道,用苹果Mac竟然比Windows PC要省钱?

不比不知道,用苹果Mac竟然比Windows PC要省钱?

Windows PC使用起来比Mac贵多了,这真不是开玩笑。以IBM为例,近十万员工可以自由的在Windows PC和Mac电脑中选择,不过让人差异的是,近9万名IBM员工在使用Mac电脑,原因只有一个那就是省钱。估计很多人都会这么说,......

关键字:苹果 Mac windows

[新鲜事] 微软:再见了 Windows 7!

微软:再见了 Windows 7!

近日,微软德国在官网发表长博文,标题是《是该早些和Windows 7说再见了(An early Goodbye to Windows 7! Support endet in drei Jahren)》。......

关键字:微软 Windows 7
条评论

我 要 评 论

网友评论

大家都爱看

  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15
  • Intel代工 展讯发布14nm SC9853I手机SoC

    SC9853I采用的Intel的14nm FinFET制程,架构为8核64位Airmont架构,主频1.8GHz,GPU为Mali-T820 MP2,号称面向799~1299元档次的手机。…

    2017-08-15