




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows Phone 7开发教程汇总Windows Phone 7是微软重新打造windows mobile品牌之后推出的一款产品,从外观到软件代码都有了很大的改动。与此前的Windows Mobile系统相比,Windows Phone 7有着完全不同的屏幕主页和用户界面,集成了Xbox Live、Zune,以及多个新的社交网络工具。 微软也为开发者准备了全新的开发工具和支持,以微软强大的财力和遍及全球的合作伙伴,为Windows Phone 7开发Apps可能很快将成为开发者业界的风潮。 本汇总从最基本的开发环境搭建开始,整合Windows Phone 7开发的各种资源,力求为各位开发者提供最大的支援。目 录1、 准备工作:Windows Phone 7 开发环境搭建Windows Phone 7 Series 开发问答Windows Phone 7第一次亲密接触2、进阶开发:Windows Phone 7 Application ControlsWindows Phone 7下ListBox的使用改变WindowsPhone7程序的启动PageWindows phone 7开发-页面间跳转与传值3、范例:Windows Phone 7 系统信息获取示例Windows Phone 7程序独立存储空间容量测试4、其它:Windows Phone 7的多任务解决方案正 文:Windows Phone 7 开发环境搭建简介本文通过step by step的模式讲述如何从0开始搭建Window Phone 7开发环境,如果开发简单的Windows Phone 7程序。只是一篇介绍性的文章,但是迈进Windows Phone 7开发之路其实就那么简单,一起来开发Windows Phone 7吧。Windows 7安装目前Windows Phone 7开发环境只是支持Windows 7和Vista,我推荐使用Windows 7,下面讲述如何搭建Windows 7的环境。准备条件1. Windows Xp的系统。2. 100 GB 硬盘空间3. 2GB的内存4. 如果要开发XNA程序的话, 显示卡支持 DirectX 10 或者更高版本,同时带WDDM 1.1 驱动。安装步骤1. 下载Windows 7 ISO2. 下载 Windows 7 USB/DVD Download Tool3. 安装Windows 7 USB/DVD Download Tool。格式化一个大于4G的USB盘。 运行Windows 7 USB/DVD Download Tool。选择ISO的文件路径。选择USB Device选择USB盘符。自动把ISO存放到该USB盘上。重启机器自动进入安装程序,点击Next Next完成安装。安装程序比安装Windows XP简单,网络也不需要手工配置。就能正常使用。Windows Phone 7开发环境安装1.下载 Windows Phone Developer Tools CTP - April Refresh下载Windows Phone Developer Tools CTP - April Refresh,这个包含了以下所有组件,一次安装就OK了。Visual Studio 2010 Express for Windows Phone CTP Windows Phone Emulator CTP Silverlight for Windows Phone CTP XNA Game Studio 4.0 CTP2. 点击安装vm_web.exe点击Install Now点击Accept,这是免费软件,enjoy it。大概20分钟,安装完成,需要重启机器。编写第一个Windows Phone 7程序启动Visual Studio 2010 Express for Windows Phone打开欢迎页面,这里有一些链接可以下载Windows Phone 7相关的文档和视频。新建一个Window Phone Application项目,叫做HelloWorldWindowsPhone。修改MainPage.xmal的TextBlock textBlockPageTitle 和 textBlockListTitleCode Snippet1.2. 3. 4. 5. Grid增加一个按钮Code Snippet1.2. 3. 4. Grid增加按钮处理事件Code Snippet1. private void button1_Click(object sender, RoutedEventArgs e) 2. 3. textBlockListTitle.Text = Say Hi!; 4. 一个demo程序就完成了。点击F5启动Emulator进行调试进入我们编写的程序。点击按钮Windows Phone 7的开发环境部署非常的简单,开始Windows Phone 7的旅途吧,还等什么呢? Lets go!作者:Jake Lin(Jakes Blog on 博客园)出处:/Windows Phone 7 Series 开发问答转自:WPMind微软近日在Windows Phone 7 Series的官方论坛上列出了一些Windows Phone 7 Series开发的常见问题的解答,其中我们以前一直不明确的一些问题(例如多任务,沙箱,网络等等)都有了解答。为了方便大家我将其一一翻译出来,希望能够对您带来一些帮助。当然,如果您愿意的话,去查看原文会获得更加准确的理解。前后台中的应用程序进程我的程序能运行在后台吗?不可以,Windows Phone 7 Series的应用程序模型只支持在前台执行。如果另外一个程序(第三方或者内置的)在你的程序正在运行的时候启动,你将会得到一个你的程序将要被终止的事件通知。我的程序从前台离开时会发生什么?你的应用将会收到一个它将被关闭的通知。你的应用从前台离开的时刻并没有被马上终止,如果你需要保留状态,你需要自己编写一些逻辑来处理这些事情。当我的程序从前台离开后重新运行的时候会发生什么?你的应用程序将会从最初始的状态开始运行。如果需要保留状态,你应该自己编写逻辑来判断状态是否被保留并恢复它。 这是否意味着没有办法来编写应用进行有效的后台更新?不是!我们提供了可以让你的应用所利用的Push Notification服务。例如聊天程序,轮流操作的游戏以及其他类型的依赖外部事件的程序都可以完美的利用Push Notification。你可以从MSDN的这篇文章上了解更多关于Push Notification的信息: /en-us/library/ff402558%28VS.92%29.aspx 如果我的程序没有运行,我可以利用Push Notification来启动我的程序吗?不能直接运行。当接收到一个对你的程序的Push Notification的时候,你的程序的令牌可以被更新至这新的信息,这时候用户将会被提示启动你的程序。程序并不会直接自动启动。我可以设置一个定时器来启动我的程序吗?不行,是否启动你的程序取决于用户。我的程序可以被系统事件启动起来吗?不太可能,但是它仍然是一个问题。绝大部分情况下,不可能由一个系统事件来启动起你的程序。但是当你的程序启动的时候或许你可以获得一个通知缓存。对于这个情况,当我们了解更多的时候我们会公布出来。 如果我不需要用户界面,我能编写一个服务的DLL驻留在系统中吗?不行,你将不能编写系统服务DLL。所有的程序集都将运行在它们自己的独立的沙箱中,和操作系统以及其他应用程序隔离开。 应用程序的安装我可以怎样向设备中安装应用程序?应用程序将会在从MarketPlace中下载后自动安装。我可以不使用MarketPlace而手工安装应用程序吗?不行, 自行安装应用程序将是不允许的。唯一获得应用程序的途径是通过MarketPlace。如果我不能按状态,我怎么测试我的应用程序?作为一个注册了的开发者,你将会被允许注册一些设备用来直接部署你的应用程序用来测试。如果只是为了测试用不着把它部署到MarketPlace上面去。我的应用只是为了我们的公司或者某些特殊的团体使用,我怎么通过MarketPlace将这些应用仅仅分发给他们?目前MarketPlace并没有办法为私有应用程序锁定区域。当然也有针对移动运营商的例外情况。目前没有办法将你的程序针对特殊的团体或者设备做限制。.设备连通性我们仍然使用ActiveSyncIs来将设备连接到电脑吗?不,同步时自动的就像将Zune HD连接到电脑上那样。 我应该如何通过Internet来传输数据?HTTPGET或者WebServices之类的web技术将被用来作为在Internet上通讯的方式。当你的程序没有运行的时候你还可以使用Push Notification来通讯。我可以使用Socket来做点对点的通讯吗?Windows Phone 7 Series目前并不直接支持Socket类。尽管手机上的Silverlight尽量靠近桌面版的Silverlight 3的特性列表,但是它只提供这些特性的一个子集所以并不包含所有的类(当然它也针对Silverlight 3做了一些扩展)。我如何能够和其他的客户端实时的连接?目前Windows Phone 7 Series的最初版本并不支持点对点的通讯。我们始终会评估开发人员和用户的需求,或许以后我们会决定将这个特性加上。Hub/Pivot/Tab以及其他Silverlight中缺少的控件我在那么多演示中所看到的”Hub”控件在哪里?在MIX上的演示中你所看到的“Hub” 和 “Pivot” 控件我们还在持续完善,并不在当前的工具中所包含。什么时候它们将会可用?目前并没有针对这些控件的确切的时间表,,但是产品组将会密切关注开发者社区去了解开发人员需要什么样的有用的控件。如果你想要某个当前并没有的控件,请在论坛中留言。我可以自己做一个吗?当然你可以做自己的控件。但是你需要了解到Pivot / Hub控件是个非常重要的需求,机会是好的但是在以后这些或许会作为官方的工具的一部分发布。设备存储 什么是”Isolated Storage”“Isolated Storage” 涉及的是在设备的文件系统中,你的程序所占据的空间。你将无法访问这个空间以外的内容 (包括其他应用程序的空间或者操作系统的空间。) 这样做将会给你的程序提供一个自管理的安全的沙箱,并且预防其他程序不小心(或者恶意的)侵入你的应用程序空间。在Windows Phone 7 Series的设备上有没有本地数据库可以利用?没有,在最初的Windows Phone 7 Series上没有本地数据库API可以利用。我应该如何为我的应用程序存储信息?你可以将信息存储在自己的存储空间里。如果你需要大型的数据库这里有一些选择:Windows Phone 7 Seires 已经支持WebServices,它可以让你容易的访问存储在Internet上的信息。使用一个可以被WebServices访问的数据库,你的应用程序就可以在连接Internet的情况下实时的获取数据。如何处理非连接的情景呢?没有连接到Internet的话,你将无法访问云端服务的数据。这种情况下,建议你的程序通过多种方式来处理(在设备上缓存自定义格式的数据,提醒用户缺少连接)。我的应用更加趋向于在非连接的场景下使用,如果我不能访问云端服务该怎么做?针对这种场景有两种方案:制定你自己的数据格式,将数据存储在设备的存储空间里。继续开发针对Windows Phone 6.5或者之前版本的应用,那些版本可以支持本地数据库。以后会支持本地数据库吗?当前我们没有宣告这样的计划来增加这一功能;但是我们会密切关注开发人员和用户的需求并识别哪些特性会给每个人带来好处。Native Code 的支持 我可以用c+来编写我的应用程序吗?不行,当前C#是Windows Phone 7 Series平台上唯一支持的开发语言。我可以用VB编写我的应用程序吗?现在还不行,但是在以后的开发工具中我们会强烈考虑这一点的。我可以用P/Invoke来调用系统API吗?不行,作为ISV来说无法使用P/Invoke来访问系统API。任何试图使用P/Invoke的程序将会被从MarketPlace中退回。我可以用P/Invoke来掉用我自己的native dll吗?不行,native code不能作为你的应用程序的一部分来运行。P/Invoke是不允许的。工具安装的问题我的安装失败了在将你的失败贴到论坛之前,请检查系统的事件日志或许能够提供一些线索。我的安装结束了,但是我不能运行期Visual Studio 2010 Express for windows mobile. 我应该做什么?这自然取决于你所遇到的错误。这里有一些基本的指导: 首先,检查发行说明. 确保你的系统符合要求并且不是这里已经列出来的问题。 (/download/D/9/2/D926FB38-BB43-4D87-AE5A-1A3391279FAC/ReleaseNotes.htm) 如果你遇到一个注册表或者文件的权限问题,试着以管理员权限运行应用程序。 如果你还没有重启,试着重启一下。对于某些人来说它将会清除掉很多问题。我得到一个”The application cannot start” 的错误请看这篇Blog的说明:/visualstudio/archive/2009/10/29/how-to-fix-the-application-cannot-start-error.aspxSilverlight, XNA, 和Compact Framework手机上使用的什么版本的Silverlight?手机上的Silverlight版本是一个很接近桌面上的Silverlight 3的子集。这里也有一些Silverlight 3上并没有的针对手机的特殊功能。但是许多在桌面版的Silverlight 3上正常运行的程序也能够在手机上正常运行。我可以在Silverlight里面调用XNA的库吗?Silverlight和XNA使用同一个Compact Framework上的基础代码。如果这个调用没有图形用户界面交互,多数情况下他们可以在Silverlight和XNA之间共享。Windows Phone 7第一次亲密接触1.看看Demo视频请点击这里。2.下载开发开发工具(Windows Phone Developer Tools CTP)请点击这里。这个开发工具其实包括: Visual Studio 2010 Express for Windows Phone CTP (需要注意的是目前只支持Visual Studio 2010 RC) Windows Phone Emulator CTP Silverlight for Windows Phone CTP (我们看到安装的是Silverlight 4)XNA 4.0 Game Studio CTP 安装这些工具要求的环境是这样的: Supported Operating Systems: Windows 7; Windows Vista Windows Vista (x86 and x64) ENU with Service Pack 2 all editions except Starter Edition Windows 7 (x86 and x64) ENU all editions except Starter Edition Installation requires 3 GB of free disk space on the system drive. 2 GB RAM DirectX 10 capable graphics card with a WDDM 1.1 driver 所以我在Windows 7下面安装了,截图如下:3.帮助文档请参考这里,目前还没有提供能下载到本地的文档。4.开发人员指南Application Platform Overview for Windows Phone 从这个文档中我们可以看到WP7上面应用开发的一个生命周期: Windows Phone UI Design and Interaction Guide这个文档是UI和交互设计向导了,类似iPhone的HIG,我们看看它比HIG有何优劣势?支持的手势: 支持的应用程序控件: 支持的系统控件: 我们再来看看一些界面的设计,包括硬件的: Designing web Sites for Phone Browsers 5.打开Visual Studio,创建一个项目:新建一个项目时我们找不到Native C+有关的项目了,也许未来微软可能提供类似Android的NDK的开发方式,但是谁知道呢? 6.Code Samples下载并打开第一个Samples:欢迎一起来交流,我的QQ:3423 67 776匆忙写下此文,发现之前马宁老师已经也发布了篇初体验文章:双重惊喜Windows Phone Developer Tools初体验,就当这篇是他的简单补充吧,希望能够看到更多朋友发布的相关文章。作者: 王克伟出处: / 版权声明: 本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任的权利。你必须知道的Windows Phone 7开发目录1 托管 代码是你唯一的选择2 两种 开发模型可以选择3 开发 工具的选择4 工程类型5 系统 的本质6 小结编辑本段回目录托管 代码是你唯一的选择对于普通的ISV和开发者来说,托管代码将是唯一的选择。你将不能使用c+来编写程序,同时,也不能对已有的native dll或者系统函数进行P/Invoke调用。也就是说,不要奢望将你的某些代码封装在native dll里面然后在托管代码里面调用。编辑本段回目录两种 开发模型可以选择而编写托管代码将有两种方式,一种是编写Silverlight的应用程序,另外一种方式是编写XNA的程序。这里的Silverlight 程序不同于常规意义上的Silverlight,虽然它是脱胎自Silverlight 3,但是又去掉了一部分不适用于移动设备的特性,同时又加入了一些Silverlight 4的特性或者是针对移动设备的代码。同时,常规概念中咱们所看到的Silverlight程序都是in browser的;但是对于Windows Phone 7上的Silverlight应用程序来说,它们都是out browser的,也就是说脱离浏览器单独运行的。对于XNA程序来说,对于绝大部分国内的开发者来说或许是个陌生的东西。它是以前微软推出的用来开发XBox上的游戏以及Zune上的应用程序的一 套开发工具。很遗憾的是,由于XBox和Zune一直没有正式的进入国内,所以国内的开发真关注这方面的内容的甚少。同样,它也是采用托管代码。它的开发 环境是一套基于Visual Studio称之为XNA Game Studio的东西。Windows Phone 7 应用程序架构我们会看到,最底层是.NET Compact Framework,它是一些核心组件。在此之上则是一些通用服务,例如传感器API,位置API,Windows Live服务,网络服务,多媒体等等。再网上一层则是 Silverlight 或者 XNA 自己特有的一些内容。最上层则是你基于这两种不同架构所编写的应用程序。编辑本段回目录开发 工具的选择目前您可以下载Windows Phone Developer Tools CTP版。它里面包含Visual Studio 2010 Express for Windows Phone CTP版,Windows Phone Emulator CTP版,以及Silverlight for Windows Phone CTP版和XNA Game Studio CTP版。在这里需要特意说明的是,Visual Studio 2010 的Express版本支持了Windows Phone 的开发,也就是说它纯粹是免费的了。而不像以前,我们要做windows mobile的开发,必须要购买Visual Studio才行。安装这套开发工具需要您使用Windows 7或者Vista SP2操作系统,需要3G的硬盘空间。对于内存需求的是2G,同时还需要一块支持DirectX 10的显卡。同时,如果您是一位前端设计人员,想要仔细研究研究Silverlight的话,那么则可以下载Express Blend 4 Beta,然后再安装上Expression Blend Add-in for Windows Phone以及Expression Blend SDK for Windows Phone. 您就可以体验在Expression Blend里面设计Windows Phone 7的应用程序了。编辑本段回目录工程类型安装完开发工具之后,打开Visual Studio 2010 Express for Windows Phone。您会发现有如下工程类型可以选择:我们会发现在Silverlight应用程序中,除了类库工程之外我们有两种应用程序可以选择。一种是“Windows Phone Application”,另外一种是“Windows Phone List Application”。第一种工程是一个非常普通的Silverlight应用程序。第二个工程是一个主界面为一个Listbox的应用程序,它给你演示如何在界面中使用 列表。但是,我相信绝大部分人需要等待的是标准的Pivot类型的窗体以及它哪6个Hub中类似于滑动窗体一般的界面。这两种窗体的模板在目前的CTP版 本中尚未出现,希望在正式版中能够看到。至于XNA Game Studio类型的工程则丰富多彩了,不但有Windows Phone Game,还有Windows Game和XBox 360 Game。编辑本段回目录系统 的本质我们新建一个普通的Silverlight应用程序,然后在界面上拖拽进入一个Button控件。然后双击Button,在其Click事件中编写 如下代码:MessageBox.Show(System.Environment.Version.ToString(), System.Environment.OSVersion.ToString(),MessageBoxButton.OK);然后按下F5运行起程序,Visual Studio 将会自动调用起Windows Phone 7的模拟器并将你的程序部署上去运行起来。然后在模拟器中点击那个Button,则会得到如下结果:这就很清楚了,Windows Phone 7其实是基于WinCE 7的内核。而它上面所运行的托管代码是.NET Compact Framework 3.7。编辑本段回目录小结Windows Phone 7是一个全新的平台,对于绝大部分开发人员来说即熟悉又陌生。熟悉的是它延续使用了C#来开发应用,陌生的是它采用Silverlight和XNA作为开 发的选择。但是,不管怎么来说,离Windows Phone 7的正式上市还有很长的事件,足够我们进行学习和研究了。希望在Windows Phone 7正式上市之日我们能看到大量的Windows Phone 7应用程序出现在用户面前。参考来源:/abhinaba/archive/2010/03/13/windows-phone-7-series-programming-model.aspx2、进阶开发:Windows Phone 7 Application Controls前言-关于这段译文Windows Phone开发的中文资料缺乏,这段译文翻译自UI Design and Interaction Guide for Windows Phone 7 Series,翻译活动由/ 的站长小指发起,最终版本将会在/ 发布。希望更多的人参与到Windows Phone开发中来。之前,Jake已经在他的Blog中发布了他翻译的部分:Windows Phone 7用户界面框架。本人负责翻译的是Windows Phone Application Controls小节中的List Box以后的内容,但是由于本人技术水平和英语水平的限制,翻译存在不对的地方,希望大家指正,谢谢!List Box列表框控件(List Box)包含一个数据项的集合,可以通过绑定数据源或者显示自由数据项(unbound items)来构建。列表框是一个项目控件,你也可以用来填充其他控件或者文本。比如,Windows Phone 7 CTP列表框项目控件可以用来放置不同的表达元素和点击目标元素。 备注:对于CTP release版本,在你的应用程序中必须合理地设计该控件。更多详情请参考Windows Phone开发文档中的基础控件(Base Controls)小节。 List View Item在Windows Phone 7 CTP中,列表控件为开发者提供了一种系统表示数据内容的方法。列表视图项(List View Item)是显示在列表中的矩形视图元素。在Windows Phone 7 CTP中,开发者可以使用多种风格的列表视图项。 备注:对于CTP release版本,在你的应用程序中必须合理地设计该控件。更多详情请参考Windows Phone开发文档中的基础控件(Base Controls)小节。 单行 双行 带图标的单行 带图标的双行 带次级点击目标的单行或双行例子之一是单行的表现方式。例子之二是带图标的双行格式。该控件支持具有图像占位符的多行文本,其中图像占位符可以在控件边界的右边,也可以在控件边界的左边。 列表项设计考虑 在使用列表框(List Box)控件时,才可以利用多点击目标。 使用多点击目标时,主要点击目标应大于辅助点击目标。 主要点击目标应该能够进一步引导到应用程序中,辅助点击目标应该完成具体的行动。Progress Bar进度条是一个表示某项操作进度的控件。你可以使用该控件来展示普通的进度,或者是根据一个数值改变的进度。它包括的特性有: 进度条支持选取框(不确定)模式。 进度条支持主题化。程序设计时的考虑 进度条具有启用和禁用状态。当它被启用时,你可以和它进行交互,如暂停进度条。Page Title尽管页标题并不是一个有用的控件,在这里我们还是要讨论它。页标题控件用来清楚地显示该页内容的信息。 程序设计时的考虑 页标题控件不支持滚动。 应用程序可以选择显示或者不显示页标题。如果应用程序选择显示页标题,那么为了考虑一致性,应用程序所有页面的页标题控件应该被预留,这样,用户就不会感受到不同的窗口大小。 如果应用程序显示了页标题,它应该是该应用程序的名称,或者是和显示数据相关的一行描述性的文字。页标题控件不具备动作。Panorama Application全景视图是Windows Phone OS 7.0 CTP核心体验的一部分。标准应用(standard applications)受手机屏幕界限的局限,与标准应用不同,全景视图应用利用一个超出手机屏幕局限的长水平画布提供一种独特的方式来浏览控件、数据和服务。这些内在的动态应用利用分层的动画和内容,实现了层与层之间以不同速度平滑过渡,就和视差效果类似。 当前,没有一个全景应用模板或者控件是作为标准应用平台的一部分来提供的。但是,开发者们可以利用Silverlight来创建类似的应用体验。 设计建议 对于自定义Silverlight全景应用,虽然没有官方的限制,但是Microsoft还是给出了一些建议。 这些建议的目的是帮助你反映集成的全景视图应用,并且为人们提供更加一致的体验。 Common UI Elements全景应用的用户接口由4层类型组成:背景图片、全景标题、全景区域和全景区域标题,它们有各自独立的动作逻辑。 下图表示基于图片的元素:下图表示基于文本的元素: Background Image背景图片位于全景应用的最底层,由它来给出类似于杂志的体验。背景图片通常是一张全景图,它可能是应用程序最直观的部分。如何创建一个好的应用体验,我们在设计过程中,必须牢记以下因素: 利用单色的背景,或者是跨度为整个全景的图片。如果你决定使用图片,从大小来考虑,你可能会使用JPG图片,但是Silverlight支持的任何UI图片类型都是可以接受的。 可以使用多个图片作为背景,但是在任一时刻,只能显示其中一张。 为了确保良好的程序性能,最少的加载时间,并且无需剪裁,图片大小应该在800 x 480和800 x 1024像素(高x宽)中选择。 对于一个具备4个全景区域的应用,使用16 x 9的屏幕高宽比。 为了提高文本的易读性,使用一个透明的黑色或者白色过滤器。 在动态UI元素上,避免使用下拉阴影效果(drop-shadow effects)。 使用一定比例的与panning手势相关的动作,该panning手势和顶层内容宽度与背景图片的宽度比例有关。 只有背景艺术出现在应用中时,才使用动画。 当用户的pan手势超出图片的宽度时,关闭并且返回可见区域。Panorama Title全景标题是整个全景应用的标题。其目的是让用户识别该应用,无论是以何种方式进入应用,它都必须是可见的。下面是全景标题的设计建议: 使用简洁的文字或者图片,例如一个logo作为全景标题。使用多个UI元素,例如一个logo加文字(或者其他UI元素)也是可以接受的。 确保字体或者图片的颜色与整个背景相匹配,而且,标题的可视性不依赖于背景图片。 为了保持一致性体验,在Start菜单中的应用程序名称和该标题一致。 避免标题动画,或者动态改变标题的字体。 使用一定比例的动作,相对于最顶层内容来说较慢,而相对于底层图片来说较快。 当用户的pan手势超出图片的宽度时,关闭并且返回可见区域。Panorama Sections全景区域是全景应用的组成部分,它封装了其他控件和内容。以下是全景区域的设计建议: 最大化利用四个全景区域,确保全景应用的平滑性能。 在列表或者网格内使用垂直滚动是可以接受的,但前提是它处于全景区域内,并且不同时与水平滚动出现。 只要全景区域的宽度小于屏幕的宽度,垂直滚动是可以接受的。 支持所有自定义控件和标准控件。 与手指拖拽的移动比例相同。 当用户导向到一个新的区域时,开启屏幕动画。 设计全景区域的布局,使得少量的下一个全景区域可见。提供轻微的重叠,使得用户直觉地利用Pan手势来切换应用。 直到该全景区域有内容要表示时,才显示该全景区域。Panorama Section Titles全景区域标题是全景区域的可选部分。如果你提供标题,考虑下面的设计建议: 尽管可以使用图片,最好使用简洁的文本。使用多个元素,例如一个图片加文字(或者其他UI元素)也是可以的。 确保全景区域标题不依赖于背景图片。 避免使用标题动画,因为标题可以移动。 跨越整个区域,即使存在多个控件。 当用户导向到一个新的区域时,开启屏幕动画。注: 根据全景区域的宽度是否大于或者小于屏幕的宽度,该全景区域的标题应该不同。如果全景区域的标题宽,它就需要水平的动画。也就是说,标题不应该停留在区域的左上方,而应该随着全景应用的移动,以不同的速度移动。在这种情况下,不应该使用垂直滚动。相反地,如果全景区域的宽度小于屏幕的宽度,标题就应该一直停留在该区域的左上方。在这种情况下,不应该使用水平滚动的动画,如果使用了垂直滚动,标题应该随着内容移动。 Thumbnail Specifications小图片是全景浏览中的主要元素。它们链接到全景以外的内容或者媒体。如下图所示,你应该使用剪裁的图像来强调一个主题,而不是一整张图片。如果图片没有文本标注,可以使用两行的文字来描述该内容。 Element Flow全景应用的元素作为更加细致体验的起点。下图描述了手机上核心全景应用的标准流程。 注: 上面展示的元素流程并非指示平台的功能,而是终端用户的体验。例如,在一个全景应用中启动另一个应用程序,在终端用户所看来,刚刚启动的应用程序只不过是相同全景应用的不同视图而已。 Pivot Control枢轴(Pivot)控件提供了一种快速的方式来管理应用中的视图或页面。枢轴可以用来过滤大的数据集,浏览多个数据集,或者切换应用视图。枢轴控件水平并且相邻放置独立的视图,同时管理左侧和右侧的导航。可以通过Flick或者Pan手势来推动枢轴控件。 注: 在CTP Release版本中,该控件不可用。但是,在开发你自己的枢轴控件时,以下的设计考虑突出了它的一些主要特性: 程序设计时的考虑 应用程序应该使得pivot页最少。 pivot页面的内容由应用程序定义。 pivot页面是循环的。 pivot页面不能覆盖水平pan和水平flick功能,因为它与枢轴控件的交互设计相冲突。 pivot标题文字的长度没有限制。显示文字的数量受制于枢轴控件的宽度。 pivot标题高度固定,不能改变。 枢轴控件应该只用来显示相同类型的条目或者数据。 该控件不应该用来做任务流程。不同的页面应该在外观方面具备无缝切换。页面不应该极大地改变用户的活动。 枢轴控件应该少使用,在适当情况下才使用。 在用户没有可能添加信息的情况下,一个空的pivot页应该被删除。本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。Windows Phone 7下ListBox的使用学习一下如何在Windows Phone 7下使用ListBox来做一个图书列表。首先打开Microsoft Visual Studio 2010 Express for Windows Phone, 新建一个Silverlightfor phone工程,命名为BookList. 右击解决方案的BookList工程,选择Add -New Folder,新建一个文件夹,命名为 Picture,右击该文件夹,选择Add-Existing Item,在弹出的窗口中把书的封面图片添加进去。 打开MainPage.xaml.cs文件,添加一个新的类Book,代码如下: 复制到剪贴板C#代码1. publicclassBook 2. 3. publicBook() 4. 5. 6. 7. publicBook(stringName,decimalPrice,stringPicture) 8. 9. this.Bo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 观看风险培训课件心得
- 认识画图程序课件
- 信用评分模型国际比较-洞察及研究
- 食品产业园项目可行性研究报告
- 汇率风险传导机制-洞察及研究
- 育婴员初级模拟试题及答案
- 会计准则国际趋同路径-洞察及研究
- 高血压健康知识试题含答案
- 2025年度地下室小平方租赁合同及配套设施租赁与管理协议
- 2025版婴幼儿奶粉品牌授权授权销售渠道拓展合同范本
- 北京大学情报学考研真题汇总
- 生猪屠宰加工项目可行性研究报告
- 劳动力、机械设备、材料投入计划
- 病人欠费催缴通知单
- GB/T 8627-2007建筑材料燃烧或分解的烟密度试验方法
- GB/T 3280-2015不锈钢冷轧钢板和钢带
- GB 19510.14-2009灯的控制装置第14部分:LED模块用直流或交流电子控制装置的特殊要求
- GA 576-2018防尾随联动互锁安全门通用技术条件
- 中职语文-病句修改专题复习【公开课】课件
- 企业突发环境事件隐患排查与治理工作指南课件
- 初中语文七年级现代文阅读理解精选:说明文20篇(含答案)
评论
0/150
提交评论