摘要:启动器和选择器是WP向开发者提供的两组API ,使应用 程序能方便地调用API完成手机内置的一些常规任务,例如打电话,发电子邮件和拍照片等。在WP操作系统中,所有应用程序被限制在各自独立的存储空间内运行和存取文件,应用程序不能直接访问公共存储区的信息如通信录,也不能直接调用手机内置功能如电话或短信。为了满足第三方应用程序对这些常规任务的使用需求,WP提供了启动器和选择器API,以便应用程序能间接调用这些常用的手机功能。手机中内置功能一旦被启动器或选择器API调用,就会在前台运行并且取代调用它的应用程序。启动器和选择器的区别:这两种API的根本区别在于它们是否向应用程序传递返回值。启动器在执行手
阅读全文
摘要:UI异常处理:在app.xaml.cs 中,有这样两个方法: // 导航失败时执行的代码 private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e) { if (System.Diagnostics.Debugger.IsAttached) { // 导航已失败;强行进入调试器 System.Diagnostics.Debugger.Break...
阅读全文
摘要:如果需要准确定位的位置,设备每移动100米就进行数据更新,可以这样写:GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Hight);watcher.MovementThreshold =100;watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);watcher.Start();private vo
阅读全文
摘要:在blend 中,右击PhoneApplicationPage ,可以添加ApplicationBarIconButton 。在IconUri 下拉列表中选择所需的按钮图标。在blend 中,右键文本控件,选择 编辑样式,再单击“应用资源”,可以选择系统内置的样式。可以右键一个控件,在弹出的快捷菜单中选择“导航到”项目中的一个页面。TextBox 可以指定 InputScope 属性来指定用户要输入的数据的类型,手机屏幕会显示不同的软件盘。System.Windows.Input命名空间下的 InputScopeNameValue 枚举中定义了所有可以设置的InputScope属性。<A
阅读全文
摘要:两个模式的特点 Panorama (1)更丰富的用户体验 (2)item可以设置屏幕方向为水平,支持多余一个屏的显示 (3)可以使用任意大小的背景图,Panorama会自动的缩放成适合大小 (4)建议不要使用Application Bar Pivot (1)支持更多数据量的items,注意最好最多7个 (2)能使用更多的空间来呈现数据 (3)更加容易使用代码来操作,例如SelectedIndex和SelectedItem可以用于Pivot,但不能用于Panorama (4)可以使用Application Bar如何在二者之间选择虽然Panorama和Pivot都比较像,但是...
阅读全文
摘要:本文简单介绍Pivot(枢轴视图)控件,通过本文的介绍可以对Pivot的使用和效果有个初步的认识。一、概述枢轴(Pivot)控件提供了一种快捷的方式来管理应用中的视图或页面。枢轴视图可以用来过滤数据,将视图分类。枢轴视图控件水平放置独立的视图,同时处理左侧和右侧的导航,可以通过划动或者平移手势来切换枢轴控件中的视图。Pivot默认就支持了手势,不需要我们做任何工作。它的外观如下图所示:该图展示了一个有三个页面的枢轴视图,可以通过划动和平移手势切换页面,向左划动,就由当前页面(例如Item1)切换到下一个页面(Item2),如果切换到最后一个页面,同样操作会回到第一个页面,也就是说,枢轴视图的页
阅读全文
摘要:一、概述Panorama控件是Windows Phone 7中一个很特别的控件,它给用户提供一种很好的使用体验。Panorama控件通过使用一个超过屏幕宽度的长水平画布,提供了一种独特显示控件、数据和服务的方式。Panorama控件用来在一个很长的横向面板上显示相关的内容,屏幕之外的内容可以依次切入到屏幕中,可以通过左右滑动的方式来切换它们。当看到其中的一个元素的时候,可以在屏幕右边显示出了一点下一屏的内容,这样你就可以知道在当前屏幕的下一屏还是有内容的。当浏览到内容的最后一屏再继续切换的话,则会回到第一屏。另外Panorama控件自身内置了触控和导航,通常来说这些已经够用,基本上不需要再为其
阅读全文
摘要:在WP7.1中针对Background Agent的新API增加了蛮多非常强大的部分,以下将介绍Scheduled Multi Tasking的部分。 Scheduled Multi Tasking主要是让Application支援多工模式来执行任务,让Application不在前景模式下也可以继续在背景执行某些特定的任务,例如:背景下载、背景更新资料、背景唿叫服务…等。 然而,WP7.1提供Agent的模式,让开发Application时将要背景执行的逻辑,独立放置于Agent之中透过排程来完成任务。 但要注意的是,Agent与Application必竟还是属于不同的专案,因为Isol...
阅读全文
摘要:前面提到,计划任务允许应用程序执行后台代理程序,执行条件是主程序未激活。与计划通知不同的是,计划任务只能选择两种类型执行,即 PeriodicTask 和 ResourceIntensiveTask.PeriodicTask 定期执行,但是执行时间短,且限制使用处理周期和内存等系统资源。此类型适合快速任务,比如检查启用位置功能的WEB服务的用户数,或者缓冲小量数据。ResourceIntensiveTask 不定期执行,在设备处于资源充沛的情况下执行,比如设备处于WIFI网络连接状态并且设备采用外接电源供电。此类型的任务在允许使用充足的设备资源时,可以运行更长的时间处理大量的数据,即此类型的任
阅读全文
摘要:上一节示例说明了 Reminder 的使用方法。事实上,自从 WP7.1之后,windows phone 开放一些后台调用,包括音乐,闹钟,播放器等,我们在做windows phone开发时,有可能会调用后台, 恰好我们的软件工程中需要用到闹钟提醒功能,现在就把具体的细节一步一步告诉大家。包括实现多项提醒,存储和显示等功能。一、ReminderReminder是我们Microsoft Academic Search (MAS) 的Windows Phone 7的一个应用的模块,用来提醒用户会议中每个session的开始。用户可以设置reminder的开始时间,结束时间,reminder的消息以
阅读全文
摘要:应用程序可以使用预定操作执行任务,即使在主应用程序未在前台运行。此功能的两个子类:计划通知(包括提醒和警告)和计划任务(定期的资源密集型任务在后台执行)。WP 的计划通知功能允许应用程序创建有关警告和提醒的可配置的计划表;计划任务功能允许注册后台代理去执行计划的任务。一、计划通知计划通知在预定的时间,在手机屏幕中弹出信息提醒和警告的对话框,类似于windows phone 内置的通知。对话框的内容为自定义的文本信息,并允许用户取消和推迟通知。如果用户点击通知,与通知相关联的应用程序将启动。计划通知可以配置为启动一次或多次重复执行的计划,请注意计划知道的时间表精确到分。计划通知有两种类型:警告(
阅读全文
摘要:前台XAML<phone:PhoneApplicationPage x:Class="IsolatedStorageApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsof
阅读全文
摘要:本节介绍另一个本地化的方法:在项目中添加资源文件:(这个文件将包含应用程序的默认语言的资源)将要名称和值添加进去。(作为应用程序中向用户显示字符串值).重复上面的方法,向项目中添加更多的其它语言资源文件。(参见后面的截图)定义默认的区域1.在解决方案资源管理器中,右键单击项目名称,选择属性,在application选项卡中,点 程序集信息。在非特定语言列表中,选择默认区域性。此标识语言的默认资源文件中的字符串。例如,如果默认资源文件被命名为AppResources.resx,并在该文件中的字符串支持英语,则可以选择english作为项目的中立国语言。添加LocalizedStrings类处理资
阅读全文
摘要:创建本地化的应用程序栏,即为应用程序栏添加多语言的支持。我们知道Windows Phone 中ApplicationBar的Text属性不是依赖属性,不能采取绑定的方法实现文本的国际化,那么我们在实际开发中是怎么实现ApplicationBar的文本多语言的呢?有如下几种方法:1. 在后置代码中生成AppBar,文本使用资源文件这种方法是最简单的方法,就是在将XAML代码翻译为C#代码,其中的一个好处就是Text可以国际化。2. 使用静态资源这个方法类似于样式,即Text={"StaticResource Appbar_Save"}的形式。在练习本篇Demo之前,大家最好先
阅读全文
摘要:本文和大家重点学习一下Windows Phone开发中ApplicationBar用法,ApplicationBar就是所谓的菜单栏,它包括Iconbutton和Menu两种类型。Iconbutton就相当于菜单栏里的工具栏,可以带图标;Menu就是菜单了,但是没有二级菜单。Windows Phone开发中ApplicationBar用法对于WindowsPhone7程序来说,UI是用Sliverlight来开发的,但是并不完全是Sliverlight的全集,与子集的关系,因为Phone7上有的API或功能PC上是没有的(比如这个applicationbar),那PC上的sliverlight
阅读全文
摘要:在WP开发当中我们常常会遇到图片无法显示,视频、音乐无法播放,可地址明明是正确的啊,究其原因呢,经过MSDN考证原来是Build Action的设置不当引起的。 在资源文件上点击右键,选择Properties即打开属性窗口,如下图: 在WP资源文件的Build Action中,我们经常会用到下面几种情况:None:此文件将被忽略不参与编译和输出Compile:文件将被编译为Microsoft 中间语言(IL),如文件扩展名为cs的文件Content:文件将会打包进xap文件当中,以独立文件使用Page:在WP当中,xaml页面文件都属于Page,除App.xaml文件外Resource:文件将
阅读全文
摘要:Windows Phone 7程序简介 如何新建就不多说了,有过Visual Studio IDE经验的开发人员一上手就会,创建完以后如上图所示,左侧是Windows Phone的仿真器,右侧为界面代码编辑区,是以XAML语言形式程现的。 Solution ExplorerAppManifest.xml:一般在vs中,AppManifest.xml基本就是空的,没有具体内容,build 时候vs根据你使用的程序集情况,生成AppManifst.xamlAssemblyInfo.cs:设定应用程序的常规信息,如应用程序名称,公司,作者,版本等等WMAppManifest.xml:这个档案是记录了
阅读全文
摘要:我在上一篇博文中说过,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: Windows Phone是微软发布的一款智能手机操作系统。它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。 2010年10月11日晚上9点30分,微软公司正式发布了智能手机操作系统Windows Phone,同时将谷歌的Android和苹果的IOS列为主要竞争对手。 2011年9月27日,微软发布了Windows Phone系统的重大更新版本“Windows Phone 7.5”(Mango)版。Windows Phone7.5是微软在Windows Phone 7的基础上大幅优化改进后的升级版,同时也这是目前最新的版本...
阅读全文
摘要:装了WP7的SDK,会自动安装Visual Studio Express 2010 For Windows Phone,相当于免费的Visual Studio.遗憾的是,这个Express版本的Visual Studio只有英文版.而国内的用户一般都同时安装了Visual Studio的其他中文版本(专业版/旗舰版),我这里安装了VS 2010 中文专业版.但是即使安装了WP7 SDK,专业版在新建项目的时候还是没有增加Windows Phone 7应用程序的模板,我们这里需要自动手动添加一下. 首先打开D:\Program Files (x86)\Microsoft Visual Stu..
阅读全文