随笔 - 410
文章 - 0
评论 - 519
阅读 -
147万
随笔分类 - Windows Phone开发
Windows Phone开发之路(18) 独立存储
摘要:前面已经提到了,要想在程序多次运行间保存数据就必须使用独立存储。任何安装在Windows Phone 7中的程序都可以访问自身的永久磁盘存储区域,这个区域称为独立存储。下面这个项目,将轻击的总数作为临时数据,也就是作为页面状态的一部分。将背景颜色作为应用程序设置被所有实例共享。 MainPage.xaml XAML代码:<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Grid.RowDefinitions> <RowDefinit
阅读全文
Windows Phone开发之路(17) 如何在页面间共享数据
摘要:上一个项目实现的功能是如何从源页面传递数据到目标页面,但是,当回到源页面时,如何才能返回数据,实现数据共享呢?这个就是这一篇文章要解决的问题,而且解决这个问题有几个方案,总结如下。这里共享的数据是页面背景颜色。方案一:使用App类来存储共享数据 MainPage.xaml XAML代码:<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="Navigate to Second Page!" Hor
阅读全文
Windows Phone开发之路(16) 如何在页面间传递数据
摘要:这一篇文章要解决的问题是如何从源页面传递数据到目标页面。其实Windows Phone已经为我们提供了一套解决方案,那就是查询字符串。 下面这个项目要实现的效果是:当从MainPage页面导航到SecondPage时,该项目为SecondPage提供了MainPage当前的背景色,而且SecondPage也把自己初始化成这种颜色。这里传递的数据是背景颜色值。 MainPage.xaml XAML代码:<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> &
阅读全文
Windows Phone开发之路(15) 基本导航
摘要:一个稍微复杂一点的应用中,可能会用到多个页面,要在这些页面中跳转,就必须用到导航功能。 下面这个实例实现的功能是:从主页面MainPage导航到页面SecondPage,然后再从SecondPage返回到MainPage页面这样一个基本功能。 MainPage XAML代码:<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="Navigate to Second Page!" Horizonta
阅读全文
Windows Phone开发之路(14) 加载位图
摘要:除了文本之外,位图是Silverlight程序中最常见的对象之一,通常我们将其定义为与图形显示设备的像素相对应的二维比特(bit)数组。 Windows原生的位图文件的扩展名是bmp,但是近年它已不占主导地位,而压缩格式开始广泛流行。目前,3种最主流的位图格式为:JPEG(Joint Photography Experts Group,联合图像专家组)PNG(Portable Network Graphics,便携式网络图像)GIF(Graphics Interchange File,图形交换文件) Silverlight只支持JPEG和PNG格式。加载本地位图 一,利用Silver...
阅读全文
Windows Phone开发之路(13) 触摸
摘要:Silverlight支持两种不同的编程接口来支持多点触摸,可以简单地分类为底层接口和高层接口。其中底层接口是基于静态的Touch.FrameReported事件的。高层接口由UIElement类中定义的3个事件组成:ManipulationStarted,ManipulationDeta和ManipulationCompleted,这些事件统称为Manipulation事件,它把多个手指的交互操作合并成移动和缩放两个因子。下面分别从使用底层接口和高层接口两个方面进行总结。使用底层触摸接口 要使用底层触摸接口,需要为静态的Touch.FrameReported事件注册一个事件处理程序。下...
阅读全文
Windows Phone开发之路(12) 方向处理之OritentationChanged事件
摘要:当我们手机方向发生改变时,其实触发了一些事件的发生,其中PhoneApplicationFrame和PhoneApplicationPage都包含了OritentationChanged事件。PhoneApplicationPage还另外补充了一个方便的等价方法OnOritentationChanged,该虚方法是protected而且是可重写的。下面的示例演示了如何在项目中重写OnOritentationChanged方法,且将当前手机的方向显示在一个TextBlock中。 XAML代码:<Grid x:Name="LayoutRoot" Background=&q
阅读全文
Windows Phone开发之路(11) 方向处理之动态布局
摘要:Silverlight应用程序默认运行在竖屏模式下,当手机改变方向时,如果想让我们的应用程序可以随着方向的改变自动作出响应,只需要在MainPage.xaml的PhoneApplicationPage标记中将属性SupportedOritentations的值修改就可以了,它的值是枚举类型,值为Portrait,Landscape或PortraitOrLandscape。 处理动态布局时最重要的两个属性是HorizontalAlignment和VerticalAlignment。下面是一个例子,它将9个TextBlock元素放在一个Grid元素中,以展示Grid的HorizontalAl...
阅读全文
Windows Phone开发之路(10) 进军WP的第一个程序
摘要:前面介绍了XAML和Silverlight的基础知识,这些都是为了开始正式开发WP程序做准备,现在我们的基础知识有了,我们就可以正式地开始WP程序开发了。首先我会从建立一个Hello Windows Phone程序开始,请大家不要小看这个看似简单的程序,其实它是我们进行复杂程序开发的基础。下面我们来新建一个Windows Phone Application程序。一,项目组成文件介绍 我们新建一个项目后,发现VS已经为我们自动生成了一些文件,那这些文件各自的作用是什么呢? 1,Properties节点下包含了三个文件。两个XML文件和AssemblyInfo.cs文件用于定义应用程序的特...
阅读全文
Windows Phone开发之路(9) Silverlight之动画
摘要:动画(Animation)是Silverlight(以下简称SL)的一项关键特性,因为它提供了一些炫目的效果,而这些是那些基于服务器编程框架所无法仿效的(比如ASP.NET)。在SL中,动画可以实现很多效果,比如当鼠标经过时图标变大,Logo旋转,文本滚入视图等,更可以设计基于浏览器的游戏。 动画是SL模型的核心部分,这意味着你不需要使用计时器和事件处理代码来实现它们,而是通过使用少数几个类来声明并配置它们,从而不需要编写一行C#代码就能创造动画效果。动画基础知识 SL动画是一个精简版的WPF动画系统,为了更深入地理解SL动画,需要了解以下关键原则。 1,SL执行以时间为基础的动画。...
阅读全文
Windows Phone开发之路(8) Silverlight三大布局容器
摘要:Silverlight继承了WPF最重要的组成部分,那就是极其灵活的布局模式。使用这种布局模式,你可以将内容组织到一组不同的布局容器中。每个容器有其本身的布局逻辑,一种用来摆放元素(StackPanel),另一种使用一个硬编码的坐标系(Canvas),最后一种用来将元素排列在不可见的单元格中(Grid)。甚至你可以创建自定义布局容器。 因为最顶层的UserControl定义了一个Silverlight页面,仅能容纳一个元素。要想装载一个以上的元素,并且构建一个更加实用的用户界面,你需要将容器放在网页上,然后将其他元素添加到这个容器中。 Silverlight提供了三个Panel类的派生...
阅读全文
Windows Phone开发之路(7) 认识Silverlight
摘要:Silverlight作为开发WP7应用的基础,所以在学习开发WP7应用之前,我们有必要了解Silverlight的相关知识,下面我从以下几点来理解Silverlight。一,理解Silverlight 1,定义:Silverlight是一种允许由XAML描述的元素在网络浏览器里显示的浏览器插件。 2,目的(或称作用):克服普通HTML的局限性,让开发者可以创建更加图形化,更具交互性的应用程序。 3,Silverlight支持不同的操作系统和浏览器。可以说它是跨平台的。 4,Silverlight非常轻小,整个安装文件大约只有5MB左右。二,Silverlight与Flash对比 ...
阅读全文
Windows Phone开发之路(6) XAML基础(下)
摘要:这一篇我要总结的内容是XAML中的扩展标记(Markup Extensions).扩展标记 通过类型转换器和属性元素,我们可以将大多数属性初始化为常数值或者固定结构,不过在某些情况下我们需要更强的灵活性。举个例子,虽然我们可能会设置一个等价于某些特定静态属性的属性,但是我们并不知道在编译时该属性值将等于什么,这就像用来表示用户自定义颜色的属性一样。XAML以扩展标记的形式提供一个强大的解决方案。一个扩展标记就是一个在运行时决定如何设置属性值的类。 扩展标记类派生自MarkupExtension,下面代码显示了其非私有成员。这个类定义在System.Windows.Markup命名空间中...
阅读全文
Windows Phone开发之路(5) XAML基础(中)
摘要:在继续总结后面的内容之前,我们先来看一下前面漏掉的一个知识点,那就是分部类,下面我们来看一下什么是分部类,以及为什么要用分部类。一,分部类: 我们还是拿之前的例子来看,代码如下。 XAML代码:<UserControl x:Class="SilverlightApplication1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml
阅读全文
Windows Phone开发之路(4) XAML基础(上)
摘要:我在上一篇博文中说过,XAML是一种基于XML的用来创建和初始化.NET对象的语言。虽然XAML可以在更多的CLR类型中进行运用,但在Silverlight中它是以一种人类可创作的方式来描述UI。一, 初识XAML:XAML代码: 1 <UserControl x:Class="SilverlightApplication1.MainPage" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.micr
阅读全文
Windows Phone开发之路(3) Windows Phone开发相关的几个概念
摘要:因为昨天晚上有点事情,所以原本准备昨天更新的内容没有更新,今天特地抽出时间来更新.今天要总结的是与Windows Phone(下称WP)关系密切的几个概念,而且建议大家都把这些概念以及它们之间的关系弄明白,这样也有利于我们更好地学习WP开发。一, XAML: 1, 定义:XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)是一种基于XML并用来创建.NET对象树的语言. 2,XAML与Silverlight的关系:Silverlight是用XAML语言来创建用户界面(或称UI)的,它的角色有点类似于网页中的HTML,它是学习S...
阅读全文
Windows Phone开发之路(2) 开发环境的搭建
摘要:想要开发WP应用程序,首先必须搭建好开发环境,下面我就完整地讲述一下如何搭建WP的开发环境。一, 下载Windows Phone SDK: Windows Phone SDK(Software Development Kit开发工具包),现在最新版本是7.1版,请到http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=0a373422-6680-46a7-89e1-e9a468a14259&displaylang=zh-cn下载安装,请注意选择语言版本,一般我们选择简体中文就可以了,如果你喜欢英文版或者想锻炼一下你
阅读全文
Windows Phone开发之路(1) 认识Windows Phone
摘要:Microsoft的智能手机操作系统Windows Phone(下称WP)发布也有一段时间了,根据用户反馈的信息和微软的最新动向来看,WP的市场前景应该很有希望,再加上微软已经与手机巨头诺基亚签订了合作协议,我们有充分的理由相信WP将在不久的将来赢回原来属于它的位置。所以希望有兴趣开始WP开发的朋友可以和我一起来学习WP开发。 今天第一篇要介绍的是什么是WP,以便我们能对WP有一个大致的认识。认识Windows Phone: Windows Phone是微软发布的一款智能手机操作系统。它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。 2010年10月1...
阅读全文