代码改变世界

随笔分类 -  silverlight

【WP7进阶】——分享一个可供切换状态的ListBox组件

2011-02-20 19:57 by Terry_龙, 4486 阅读, 收藏, 编辑
摘要: 编写Asp.net的同学,经常会遇到一个Repeater 或者一个GridView ,当用户点击编辑状态时我们的列表组件会自动跳转到可选择(可供删除、编辑、选择等)状态。这时候一般的做法都会在组件的前方自动生成一系列复选框“CheckBox”,需要删除/选择哪行时只要在前方的复选框勾一下,便可以得到该行的数据或者行ID等。  上面的做法是一个比较典型的Web做法,那么在WP7 里面要实现这样的效果如何实现呢?有些同学就会说了,那简单使用ListBox 在它的数据模板里面添加一个CheckBox不就完事了吗?是的,这样是一种做法,但带来的问题是你得去控制他选中哪行并且得到 阅读全文

Windows Phone 7 不温不火学习之《Expression Blend 创建渐变效果和创建Storyboard动画》

2011-02-14 21:08 by Terry_龙, 4615 阅读, 收藏, 编辑
摘要: 说起Expression Blend ,开发过Silverlight 或者WPF的同学肯定会暗爽一把。微软把这一神器免费提供给我们开发者使用,特别是自从WP7 发布就立刻免费,可以看出微软对WP7的重视。  年底又好消息不断,微软和NOKIA组成战略合作伙伴,NOKIA将把携地图数据与营销能力加入WP7的创新等,无疑给我们WP7开发者一剂强心剂。好了废话不多说,回到主题。Expression Blend 工具简介一款专业设计工具,制作基于Microsoft Silverlight的应用程序的精美复杂用户界面。让设计人员集中精力从事创作,开发人员集中精力从事编程工作。每个团队成员都可以单独进行工 阅读全文

Windows Phone 7 不温不火学习之【DeepZoom 详细使用方法】

2011-01-27 23:19 by Terry_龙, 3796 阅读, 收藏, 编辑
摘要: Deep Zoom 本来是微软开发团队为Silverlight 富客户端做图片的展示做的一个工具,可以产生非常好的效果,随便WP7使用Silverlight 技术,这一功能也移植到移动设置。本篇主要学习如何使用Deep Zoom 处理、加载图片,大纲如下:DeepZoom 基本知识DeepZoomComposer 工具MultilScaleImage 控件的使用 ,主要用来展示DeepZoom 图片DeepZoom基本知识源于遥感影像的金字塔显示方式提供了与高分辩率图像进行交互的能力可以快速绽放图像而不影响应用的性能加载或平衡图像时可以光滑过渡,Spring Animation  说了一大堆, 阅读全文

Windows Phone 7 不温不火学习之《创建用户控件》

2011-01-25 00:14 by Terry_龙, 3120 阅读, 收藏, 编辑
摘要: 同样出自微软的产品,像ASP.NET 一样,Windows Phone 7 也有一个叫UserControl 的东西。这个相当于一个组件,类似于Android 继承View 。  本篇将实现一个用户控件,默认为它添加高宽,并为它添加一个自己的事件,通过本篇学习,你可以学习到如何编写一个Windows Phone 7用户控件,如何为它添加属性,如何为我们自己的用户控件添加事件处理。  实现的DEMO运行效果如下 :  当你点击文本后,可以执行一些你要的操作,例如关闭该对话框。  实现我们自己的用户控件,第一步先添加一个用户控件模板:创建完成后,可以看到设计图并不是我们熟悉的Windows Pho 阅读全文

Windows Phone 7 不温不火学习之《Control Toolkit--静态和动态的ContextMenu》

2011-01-20 21:30 by Terry_龙, 2903 阅读, 收藏, 编辑
摘要: 跟大部分智能手机一样,Windows Phone 7 也有上下文菜单,比较典型的比较可以拿Android 的上下文菜单做比较,都是需要用户长按某一Element (Android 称为某一View)时才会弹出一个菜单项。作为一个辅助的控件,它只能辅助于某一单于控件,而不能设置为在某一布局。这点和Android 有点小差别,Android 允许上下文菜单在任何时间长按某一单元或者称为VIEW也行,因为所有的活动都是包含在这个VIEW里面。这个可能是他们之间的区别吧。  就使用而言的话,Windows Phone 7因为有强大的封装能力把上下文也封装成控件形式,故较之Android 来得要方便一点 阅读全文

Windows Phone 7 不温不火学习之《画图》

2011-01-16 21:41 by Terry_龙, 3257 阅读, 收藏, 编辑
摘要: 在Android 我们需要在屏幕画图,或扩展SurfaceView 或扩展父类View 在OnDraw()里面使用画板和调色笔画画。而在微软的强大封装下,这种画图的试成为了控件的可能,微软将众多日常必要的画图都以控件展示,开发人员则无须过多学习使用Paint 、使用Canvas 等画图知识就能轻松在WP7 手机上画各种图,不过这种灵活性是否会降低呢?这个姑且不深究。  今天学习的WP7 画图控件有以下几种:InkPresenter 可否单纯理解为画图面板?Path 路径Ellipse 圆形或椭圆形Rectangle 矩形,方块矩形或圆角矩形Line 直线Polygon 封闭多边形Polylin 阅读全文

Windows Phone 7 不温不火学习之《ListBox 数据与Android ListView 数据绑定》

2011-01-13 20:26 by Terry_龙, 4946 阅读, 收藏, 编辑
摘要: Windows Phone 7 可以把它看成是Android 的 ListView ,WP7 只是预先在XAML里面为它的数据模板规定了格式,而Android 可以通过后期引入数据的方式为其添加数据模板。  Android 我们可以通过以下几种方式为LISTVIEW 添加数据,用法极其简单:继承ListActivity,使用SetListAdapter,参考下面的代码。 [代码]可自定义数据源,继承BaseAdapter ,参考下面代码。自定义数据源 Code highlighting produced by Actipro CodeHighlighter (freeware)http://w 阅读全文

Windows Phone 7 不温不火学习之《推送通知服务》

2011-01-08 20:57 by Terry_龙, 3329 阅读, 收藏, 编辑
摘要: Windows Phone 中的 Microsoft Push Notification Service 向第三方开发人员提供了一个弹性,专注,而且持续的渠道,使得开发人员可以从Web Service 向移动应用程序发送信息和更新。  过去移动应用程序需要经常主动访问相应的WEB服务,以了解是否有任何等待处理的通知。这样做是有效的,但会导航手机无线设备频繁打开,从而对电池续航时间或者用户的流量带来负面 影响。使用推送通知的方式取代主动调查,Web Service 能够提醒应用程序获取所需要的重要理更新。  当一个Web Service 有信息要发送到应用程序,它先发送一个通知到Push Not 阅读全文

Windows Phone 7 不温不火学习之《程序性能分析器》

2011-01-04 22:11 by Terry_龙, 1254 阅读, 收藏, 编辑
摘要: 无论哪个平台的开发,性能是至关重要的,尤其是移动开发,用户最关心的是你的应用的响应速度其次才是创意。网上有很实用的工具叫EQATEC Profiler ,这是一个针对.NET平台的一个性能分析器,可以分析WP7 而面加载、执行的效率时间,不过针对 WP7有几点限制,最大的限制是其不支持XNA 开发的WP7程序,以下是其限制清单:Only WP7 Silverlight apps are supported for now, not WP7 XNA appsConstructors are not timed due to a WP7 IL-verifier problemThe profile 阅读全文

Windows Phone 7 不温不火学习之《启动器与选择器》

2011-01-03 20:57 by Terry_龙, 2531 阅读, 收藏, 编辑
摘要: Android 允许应用程序通过Action、URI等机制调用系统内置功能,比如打电话、发邮箱、发短信等。  Windows Phone 7 也提供了类似的API提供开发人员使用,即启动器与选择器,但在Windows Phone 7 中他们是通过一套封装完整的Task 提供的。  Windows Phone 应用程序模型将每个应用分离成各自独立的沙箱,包括运行时和文件存储。微软提供的这套API只要正确的实施,启动器和选择器框架可以为最终用户提供一个完全无缝的体验,他们完全感觉不到应用程序之间的切换。那么什么是启动器?什么是选择器?这个可以用Andriod 的一些小知识来理解。  启动器 相当于 阅读全文

Windows Phone 7 不温不火学习之《独立存储空间》

2010-12-29 22:42 by Terry_龙, 2149 阅读, 收藏, 编辑
摘要: 在Android 里面我们要快速保存用户的设置或者游戏进行的数据,我们通常全使用SharePreference 这个类来进行操作,另外Android 还提供了一系列继承自SharePreference 的组件提供我们快速保存用户的设置项。那么在Windows Phone 7 提供了什么样的机制提供用户快速保存数据呢?微软使用了一个叫IsolatedStorageSettings 的类库提供给开发人员快速的使用独立存储保存用户数据的功能,但总体使用感觉来说没有Android 使用的方便,另外Andriod 的类似这种数据存储是暴露给用户的,而Windows Phone 7 的这种存储机制则是严格 阅读全文

Windows Phone 7 不温不火学习之《使用Expression Blend 创建应用程序栏》

2010-12-23 23:02 by Terry_龙, 2044 阅读, 收藏, 编辑
摘要: 上篇学习文章漏了一个知识点,就是如何显示和隐藏系统托盘(System Tray),在这里补一下,显示或者隐藏系统托盘需要引入Microsoft.Phone.Shell这一命名空间,下面我写了一个Toggle System Tray 的方法,代码如下:[代码]下面是两张效果的比较:【使用托盘代码之前】【使用托盘代码之后】去托盘的方法相对于Android 来说差不多,只是叫法不一样罢了,Android 叫去除标题栏,代码是这样写的:[代码]或者在Manifest 里面注册对应的页面主题,也可以这样写:[代码]又跑题了。。。。。。继续Windows Phone 7 。进入本篇的主题,如何使用Expr 阅读全文

Windows Phone 7 不温不火学习之《数据绑定与应用程序栏》

2010-12-21 23:31 by Terry_龙, 2443 阅读, 收藏, 编辑
摘要: 还是以上篇导航为基础,完善导航的页面并为导航的页面绑定数据和显示数据。这篇学习笔记主要记录两个点,分别为如下:基于Silverlight 的Windows Phone 数据绑定为应用程序添加程序栏,额外记录显示和隐藏系统托盘(System.Tray)的代码1.数据绑定  数据绑定为基于Silverlight 的应用程序提供了一个简单的方式来实现显示和数据之间交互。数据显示从数据管理中分离出来。用户界面与数据模型之间的连接或者绑定,允许数据在两者之间流动。不一个绑定被建立,数据发生改变,被绑定到数据的UI(用户界面 )元素能自动发生改变。这本篇 学习笔记将针对Silverlight 提供的控件D 阅读全文

Windows Phone 7 不温不火学习之《页面导航》

2010-12-19 21:56 by Terry_龙, 2295 阅读, 收藏, 编辑
摘要: 用于Windows Phone 的SilverLight 提供了 PhoneApplicationFrame 和 PhoneApplicationPage类,这两个类是微软针对Silverlight for Windows Phone 另外封装的,它为导航提供了使得。  PhoneApplicationPage 控件代表了内容相互分离的区段,一个应用程序可以有多个PhoneApplicationPage 。  PhoneApplicationFrame 扮演了页面控件容器的角色,对页面之间的导航提供了便利,一个应用程序有一个独立的PhoneApplicationFrame。  Windows 阅读全文

Windows Phone7 不温不火学习之《应用程序生命周期》

2010-12-18 01:07 by Terry_龙, 2023 阅读, 收藏, 编辑
摘要: 在Windows Phone 上运行的应用程序从开始到程序运行结束,其整个生命周期都是由Windows Phone 的执行模型所支配。执行模型被设计的目的就是为终端用户实时提供快速的、反应灵敏的体验。故,Windows Phone 7在设计的初衷是以单任务设计为主导,虽说在不久的将来微软会步苹果之后为自己的手机平台添加多任务,但那是后话。  Windows Phone 执行模型还维护着用户使用应用程序和查看页面所产生的日志。利用该日志就能定义电话后退键所遵循的后退路径,从而提供给用户一个能够回退到不同应用程序和浏览页面的后退选项。  当用户通过导航键功能离开某一应用程序时,操作系统执行挂起该程 阅读全文

Winows Phone 7 不温不火学习之《音乐播放示例》

2010-12-15 23:42 by Terry_龙, 2513 阅读, 收藏, 编辑
摘要: 微软的Microsoft.Xna.Framework.Media组件中自带有MediaPlayer 的库,其中库里面存放有三首曲子,我们可以通过引用该组件来调用库中相应的函数进行歌曲播放,通过引用Microsoft.Xna.Framework.dll ,引用该命名空间即可使用该 组件。     这个DEMO是一个音乐播放的小例子,界面如下:如上图,有四个控件,一个图片控件,一个文本控件,两个控制按钮。当页面被导航进来时,得到一个Song 类型的歌曲,并为文本控件赋值歌曲名称。得到类型后,在页面初始完成时,得到一张歌曲的封面并为图片控件赋值。下面是整个应的代码:代码 Code highlight 阅读全文

Windows Phone 7 不温不火学习之《工程结构》

2010-12-13 20:47 by Terry_龙, 2315 阅读, 收藏, 编辑
摘要: 像学习Android 一样也必须先把Windows Phone 7的工程结构了解清楚才好,Windows Phone 7的项目结构以一个最标准的WP7应用为例,截图如下:把其中一些对应的文件展开如下:下面一起来了解一下对应文件的作用和用法。1.PropertiesAppManifest.xml翻译成中文为应用列表,当我们的WP应用开发完成后,会打包并发布,而此文件的作用是把我们需要布署和发布的所有文件列表列出来,这个跟Android 的Manifest 是不大相同的,Android 的manifest 虽然也可以理解成列表,但Andriod 必须自己手动添加需要的应用权限、服务、广播等。而这个 阅读全文

Windows Phone 7 不温不火学习之《项目模板》

2010-12-12 11:12 by Terry_龙, 2137 阅读, 收藏, 编辑
摘要: 利用闲暇时间看了一下Windows Phone 7的相关资料,觉得这个手机系统挺新颖,打算这段时间学习一下。打开Microsoft Visual Studio 2010 Express for Windows Phone 会看到如下图界面:使用Visual Studio 真让人怀念当初做c#的时候那种感觉,方便的编辑和调试,漂亮的界面等。Silverlight for Windows Phone 一共提供了五种模板供开发者选择,开发人员可根据自己的需求选择适合自己的模板,下面将介绍各种模板的用途:Windows Phone ApplicationWindows Phone Databound 阅读全文