摘要: 在开发Windows Phone应用程序的时候,或多或少会与图片打交道,下面总结下Windows Phone 中处理图片的一些技巧 1. 图片格式. 2. 图片编译方式 3. 图片加载方式 4. 图片缓存 5. GIF图片 6. 图片大小限制 7. 图片选择器 阅读全文
posted @ 2011-06-24 21:01 Alexis 阅读(5048) 评论(6) 推荐(5) 编辑
摘要: 在Silverlight for Windows Phone ToolKit 中默认中有自带的页面Transitions:RollTransition、RotateTransition、SlideTransition、SwivelTransition、TurnstileTransition。大家如果查看源代码,会发现这些Transition都是继承自TransitionElement,然后定义一些特定的Mode去调用不同的StoryBoard去实现页面切换效果,于是我们可以定义自己的Transition类,继承自TransitionElement,调用自己定义的StoryBoard。 阅读全文
posted @ 2011-06-19 12:02 Alexis 阅读(3931) 评论(9) 推荐(6) 编辑
摘要: 我们知道Windows Phone 目前只支持jpg和png两种格式的图片,并不支持动态图片,在Windows Phone 7 Tips (9) 中提到我们可以使用ImageTool来显示GIF图片。下面以一个具体的实例Demo来演示下: 阅读全文
posted @ 2011-06-19 07:39 Alexis 阅读(6231) 评论(11) 推荐(4) 编辑
摘要: 在某些特别的环境下,我们可能需要重新设置输入框光标的颜色,以提供更好的用户体验。 修改WP7下输入框中光标的颜色:修改TextBox的CaretBrush属性即可,如下图 阅读全文
posted @ 2011-06-18 19:34 Alexis 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 在前篇《浅谈ListBox在Windows Phone 7 中的使用》 中大致介绍了ListBox在Windows Phone 7的用法,今天将继续深究ListBox。主题是ListBox的性能问题。 我相信,如果大家将自己的Windows Phone 部署到phone 7真机或多或少会遇到性能上的问题,当然这也是模拟器和真实设备区别之一,而这些问题很大程度上是ListBox的渲染以及从web上下载图片造成的。这里有一篇微软WP7团队提供的关于ListBox性能的文章,还是值得大家一看的,里面是微软WP7团队对如何优化windows phone 程序给出的建议。下图是Colin Eberhardt对NoDo做的性能测试,可以发现,ItemsControl可以在更短的时间内提供类似ListBox的功能。 阅读全文
posted @ 2011-06-12 10:49 Alexis 阅读(3512) 评论(10) 推荐(2) 编辑
摘要: 由于目前的Silverlight for Windows Phone 中不支持ChildWindow,所以当我们想要弹出一些窗口时,只能自己想办法了。 第一种方法是MessageBox,相当的简单,当然你也可以给它加上一些样式。 第二种方法是 查看Silverlight中 ChildWindow的定义方式(推荐使用ILSpy或者Reflector反编译) 第三种方法是使用Popup控件模拟ChildWindow 第四种方法是使用现有的类库,如有名的Coding4Fun,里面有很多很漂亮的Popup(有点类似第三种方法) 第五种方法: It's Up To U ! 阅读全文
posted @ 2011-06-11 20:59 Alexis 阅读(4531) 评论(2) 推荐(3) 编辑
摘要: 我们知道,Silverlight 下是不支持GB2312编码的,所以Silverlight for Windows Phone 自然也不支持GB2312编码,以致无法使用网上的“C# 汉字转拼音”的方法。其实我们可以使用一种笨方法,即将汉字和拼音放在一个数组中,然后遍历数组进行匹配。 建立一个中文辅助类ChineseHelper ,其中有两个静态的方法,得到汉字对应的拼音以及判断字符是否为汉字 阅读全文
posted @ 2011-06-11 13:11 Alexis 阅读(2253) 评论(15) 推荐(2) 编辑
摘要: 我们可以在Settings--》lock & Wallpaper(真机中有个小bug:Wallpaper中的r居然被truncated了)中设置手机自动锁屏的时间,而我们的应用程序可以不希望手机自动锁屏,那么我们可以设置相应的属性,使我们的设备自动忽略用户闲置状态(即用户对设备没有任何输入),设置代码大致如下 阅读全文
posted @ 2011-06-02 21:34 Alexis 阅读(2142) 评论(4) 推荐(1) 编辑
摘要: 由于目前的Windows Phone中没有提供对当前应用程序进行截屏的接口,所以我们只能想法子了。我们只需要在App.xaml.cs的构造函数数添加如下方法就能在程序每执行10秒就截一次图并且保存在Pictures中的Saved Pictures目录下 阅读全文
posted @ 2011-06-01 22:09 Alexis 阅读(2639) 评论(8) 推荐(1) 编辑
摘要: 大家看到这个标题,可以会问什么是SIP(看过我Windows Phone 7 Tips系列的童鞋应该知道),SIP全称为Soft Input Panel,即触摸屏中的输入键盘。 在Windows Phone 应用程序中,可能会碰到这样的情况,即到登录界面后就需要自动聚焦用户名输入框,并弹出键盘,以提供良好的用户体验,这个如果实现呢。 阅读全文
posted @ 2011-06-01 14:37 Alexis 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: 1. Windows Phone 中的导航,在相同程序集中的页面之间的导航使用 NavigationService.Navigate(new Uri("/Folder(s)/TargetPage.xaml", UriKind.relative)); 从一个程序集中的页面跳转到另一个程序集中的页面使用 NavigationService.Navigate(new Uri("/AssemblyName;component/Folder(s)/TargetPage.xaml", UriKind.Relative)); 2. 如果我们的windows phone 中需要播放音乐,需要检查当前用户是否在使用音乐播放器,如果用户正在听音乐,那么我们需要提醒用户“我们的应用有自己的音乐,是否暂停音乐播放器” 阅读全文
posted @ 2011-05-28 20:41 Alexis 阅读(2063) 评论(15) 推荐(3) 编辑
摘要: 由于Windows Phone 目前不支持第三方应用程序在后台运行,微软提供了另一种方法称之为Tomstone,虽然在Mango更新中支持了所谓的“多任务”,但是我们还是需要处理墓碑化,有没有一些方法简化我们的墓碑化操作呢,当然是有。 在CodePlex就有这么一个开源项目,TombStoneHelper 阅读全文
posted @ 2011-05-27 20:50 Alexis 阅读(2114) 评论(11) 推荐(3) 编辑
摘要: 在Windows Phone中,我们可能会有这样的需求:自定义应用程序的背景图片。 实际的流程是这样:用户选择图片,保存至隔离存储空间,(下一次启动时或者立即)加载图片使其成为背景图片。 下面以具体的一个Demo来实现这一需求: 创建Windows Phone 项目,在界面中拖放两个按钮,命名为Open和Load,一个按钮负责打开本地图片,另一个按钮复制设置背景图片 点击Open按钮,需要打开本地图片,即启动一个选择器(PhotoChooserTask),Open按钮中的事件代码如下: 阅读全文
posted @ 2011-05-26 20:34 Alexis 阅读(4812) 评论(4) 推荐(4) 编辑
摘要: 令人期盼已久的Windows Phone 重大更新Mango终于出来了,具体的更新可以参考chenkai的Windows phone 7 Mango 更新发布会Session 整理 ,还等什么呢,赶紧升级我们的开发环境吧。 昨天在新浪微博上发布了一条微博“晚上回去下芒果,装芒果,吃香瓜”,有同学回复说,“下芒果是不是像下鸡蛋那样?”。哈哈,确实,下鸡蛋意味着有鸡蛋可以吃了,下“芒果”,那么多的新特性肯定能让我们大快朵颐! 阅读全文
posted @ 2011-05-26 07:22 Alexis 阅读(3553) 评论(37) 推荐(2) 编辑
摘要: 前阵子发布了Windows Phone 7 问答 涉及到Windows Phone 中基本的问题,现在把参考答案也贴出来,供大家学习之用。 1. Windows Phone 7 应用程序的xap包最大为多大 ? 参考答案: 400MB 2. 怎么设置Windows Phone 7应用程序的ico图标? 参考答案 :右击项目--设置icon属性为自己的图片即可,注意图片生成方式选择content 3. 怎么替换Windows Phone 7中的启动画面? 参考答案: 将SplashScreenImage替换为自己的图片即可,注意图片的分辨率跟原来默认的保持一致 4. 谈谈怎么在Windows Phone 7 中使用别名进行页面的导航。 阅读全文
posted @ 2011-05-15 18:32 Alexis 阅读(2968) 评论(17) 推荐(7) 编辑
摘要: 本文一个具体的Demo介绍wp7应用程序如何实现本地化,并在本地化的一些注意点。 阅读全文
posted @ 2011-05-15 12:28 Alexis 阅读(4300) 评论(22) 推荐(3) 编辑
摘要: 在Windows Phone 7 Tips (5) 中曾经提到,在Windows Phone 7 中页面的布局一般分为:Panoramic、Pivot、List和Full Screen。而通常List的实现方式就是ListBox。 一、什么是ListBox? ListBox 是一个显示项集合的控件。一次可以显示 ListBox 中的多个项。 阅读全文
posted @ 2011-05-08 20:38 Alexis 阅读(9888) 评论(16) 推荐(6) 编辑
摘要: 1. Windows Phone 中支持的图片最大分辨率为2000*2000 2. Windows Phone 中的WebBrowser不支持asp,不支持打开新窗口(可以采用技巧让其支持新窗口打开) 3. 在Windows Phone 中Application Bar 不是Silverlight控件,也不是UIElement对象 4. 在Windows Phone 7中将本地话资源独立放到一个类库中能提高程序的性能 5. 以下服务和API会阻隔UI线程:location services、push notification、network information 和radio 阅读全文
posted @ 2011-05-07 19:40 Alexis 阅读(1959) 评论(9) 推荐(1) 编辑
摘要: Windows Phone 中自带的WebBrowser不支持打开新的窗口,即你点击页面中带有target="_blank"的超链接时不会打开这个超链接,怎么解决这个问题呢? 想法是:我们可以将页面中所有的 target="_blank" 替换为 target="_self" ,这样点击超链接的时候,就会在原来的WebBrowser中打开这个链接了。 那么如何实现? 有两个想法: 1. 当网页加载完毕后,将网页的源代码获取到,然后替换这个string(这个会有点小问题的哦,think about 中文...) 2. 当网页加载完毕后,调用JavaScript代码,用JS去实现替换 本文会简单介绍第二种方法的实现,至于第一种,大家有兴趣可以自己研究研究. 阅读全文
posted @ 2011-05-06 13:12 Alexis 阅读(3161) 评论(6) 推荐(2) 编辑
摘要: 在调试Windows Phone程序的时候,我们通常需要知道当前程序占用的内存是多少,有没有发生内存泄露。 在之前的Windows Phone 7 Tips (5) 中有提到EnableFrameRateCounter 是监视程序运行时的帧速率,具体的用法如下 阅读全文
posted @ 2011-05-02 11:09 Alexis 阅读(3296) 评论(6) 推荐(3) 编辑
摘要: 1. 在Windows Phone 7 中标准的手势有如下几种: 1. 在Windows Phone 7 中标准的手势有如下几种: 阅读全文
posted @ 2011-04-26 22:17 Alexis 阅读(1684) 评论(4) 推荐(2) 编辑
摘要: 1. Windows Phone 7 页面的启动顺序: 当应用程序被加载时,一个PhoneApplicationFrame会被创建。然后这个Frame会告知导航到MainPage。当页面加载和导航的时候,启动画面会被显示。当导航任务完毕后,Navigated事件被加载,这时候会把PhoneApplicationFrame设为应用程序的RootVisual。此时,应用程序对用户才可用,具体的顺序图如下: 2. PhoneApplicationFrame与PhoneApplicationPage的关系图如下 阅读全文
posted @ 2011-04-21 20:14 Alexis 阅读(1976) 评论(7) 推荐(4) 编辑
摘要: 相信大家学习Windows Phone 7也有一段时间了,想知道自己掌握了多少知识点,just have a test! 1. Windows Phone 7 应用程序的xap包为多大 ? 2. 怎么设置Windows Phone 7应用程序的ico图标? 3. 怎么替换Windows Phone 7中的启动画面? 4. 谈谈怎么在Windows Phone 7 中使用别名进行页面的导航。 5. 谈谈Windows Phone 7 中页面的传值方式。 阅读全文
posted @ 2011-04-20 19:27 Alexis 阅读(2504) 评论(16) 推荐(3) 编辑
摘要: 1. Windows Phone 7 中的行为(行为、触发器、动作统称为行为) 2. Windows Phone 7 中的Orientation的枚举值 3. Windows Phone 7 在设计页面布局时需要考虑横排、还是竖排。Orientation的一些策略为: Fixed Orientation、Auto-Layout、Manual Intervention、Changing States、Smoothing Transition 4. 在Windows Phone 7 中,点击输入框弹出来的键盘称为SIP(Soft Input Panel),我们可以使用Pause Break在换电脑的键盘与SIP的切换 5. ApplicationBar 暴露一个名为StateChanged事件,在该事件中你可以检测ApplicationBar是否显示,然后你可以在 阅读全文
posted @ 2011-04-19 10:57 Alexis 阅读(2282) 评论(3) 推荐(1) 编辑
摘要: 什么是VSM(Visual State Manager)? 大家可以参加jv9的这两篇博客: Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(VSM) Expression Blend实例中文教程(12) - 样式和模板快速入门Style,Template 本文是讲如何在VSM中新增自定义的状态分组.为什么要新增分组呢?默认的不是很全了嘛,有些人可能会这样问。 在WPF/Silverlight中,以button为例,会将一些互相排斥(即不会同时发生)的State分到同一组里面,如Focus和UnFocus都归于FocusStates组,而Pressed、Normal、Disabled和MouseOver都归于CommonStates,那么不同组之间的状态可以同时发生么,当然是肯定的。因为 阅读全文
posted @ 2011-04-17 20:09 Alexis 阅读(2243) 评论(5) 推荐(5) 编辑