1.Windows Phone开发概述
Windows Phone是微软推出的新一代智能手机操作系统。第一代Windows Phone系统是代号为Windows Phone 7,简称WP7。
从第二代Windows Phone 8开始,Windows Phone系统开始使用与Windows 8操作系统相同的内核,这使得app在windows平台下更容易移植。
我们也常把搭载Windows Phone手机操作系统的智能手机称为Window Phone,其中以Nokia的Lumia系类最为著名。Windows Phone在欧美占有相当比例的市场,成为继Andorid和IOS之后的第三大智能手机操作系统。 作为微软的手机平台。
Windows Phone毫无疑问的采用.NET技术进行app开发。 下面我们简单介绍Windows Phone开发的相关知识。
2.App常用配置
我们可以在“项目”→“Properties”→“WMAppManifest.xml”文件中设置app名称、显示图标、默认启动页面等。
- Title属性配置应用在程序列表中显示的名称
1 <App xmlns="" ProductID="{e1a09f8a-6322-4f17-b7cf-fefb14f095d9}" Title="测试App" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Collections author" Description="Sample description" Publisher="Collections">
- IconPath配置应用在程序列表中显示的图标(图标"生成操作"设置为"内容")
1 <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
- DefaultTask设置应用的启动页面(Name必须是_default)
1 <Tasks> 2 <DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/> 3 </Tasks>
- SplashScreenlmage.ipg是应用的启动画面,当应用启动的时候这张图片会显示,直到加载完毕。图片的文件名是固定的,"生成操作"设置为"内容"。可以把这张图片修改为个性化的产品信息。
1 <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
- app支持手机屏幕旋转,设置PhoneApplicationPage的SupportedOrientations属性设为PortraitOrLandscape即可。app启动时页面方向由Orientation属性控制,默认为纵向显示(Portrait)
- WP每个app都有一个ProductID作为唯一标识,WP据此判定软件身份,同款app就升级替换,覆盖掉原来的IsolateStorage,否则认为是新装app,WP会为之创建新的Isolatedstorage。ProductID是一个Guid,在项目Properties文件夹下的WMAppMainfest.xaml文件设定。
3.主题样式
在每个Xaml页面的开头设置页面元素的属性时有类似这样的语句:
1 FontFamily="{StaticResource PhoneFontFamilyNormal}" 2 FontSize="{StaticResource PhoneFontSizeNormal}" 3 Foreground="{StaticResource PhoneForegroundBrush}"
其中在大括号中应用的Windows Phone系统定义的静态资源,也称为系统主题,默认情况下程序的页面会应用用户手机定义的系统主题,所以我们看到当我们更换了手机主题之后,程序页面的颜色也跟着发生了变化,这就是绑定系统资源。
必要时我们可以调用系统主题,但是我们无权修改这些主题。比如说,我们想对某个控件进行美化,我们就可以调用让其绑定系统资源。类似Foreground="{StaticResource PhoneForegroundBrush}设定某个属性绑定系统资源,或者可以直接在属性面板中进行绑定系统资源,也可以设置为某种颜色值,或者在属性面板中设置渐变色等。
除了使用系统主题,我们也可以自定义主题样式。定义方式与WPF相同,具体参见2.10主题样式。
4.图片文件的生成操作
图片文件经常需要在不同应用场景设置不同的生成操作属性。常用的生成操作属性有两种。 BuildAction=content 图片压缩在Xap包中。可以用作Appbar的图标等 BuildAction=Embeded Resource(嵌入的资源)。图片集成在主文件的dll中,可以做背景图片等。