这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情无法做到,因此额外做了一个.NET桌面引擎来辅助,那么现在就需要让这两个不同环境的程序进行交互. 第一步:在桌面应用引擎中,唤醒商店应用. 根据MSDN解释,这边最简单的办法是使用协议(URI protocol)来解决. 1:打开程序的Package.appxmanifest,在声明中添加协议 名称…
Windows Store App 过渡动画     在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发生的变化,不会让用户觉得元素的位置变化过于突然.下面通过一个示例介绍如何为界面中的文本块添加过渡动画. 在一个打开的Windows应用商店项目中新建一个空白页,并命名为TransitionAnimationPage,双击打开此页面的TransitionAnimationPage.xaml文件,在Gr…
WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数据等任务时,如果构建方式错误,应用程序会将大量的时间花费等待外部环境上,从而无法保证足够的时间来响应用户的需求. 之前公司的项目需要在Win7系统下编写触控应用程序,不管同事们如何努力的优化着代码,都不能使操作体验达到需求的要求.究其原因,Win7与.NET Framework不是为触控而设计,在进…
接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如标识.状态.操作. IAsyncInfo: public interface IAsyncInfo { AsyncStatus Status { get; } HResult ErrorCode { get; } uint Id { get; } void Cancel(); void Close(…
正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进行操作的选取器和对文件夹进行操作的选取器.对文件进行操作的选取器包含文件打开选取器和文件保存选取器,文件打开选取器由FileOpenPicker类表示,用来选取或打开文件:文件保存选取器由FileSavePicker类表示,用来向指定的文件系统位置中保存文件.对文件夹进行操作的选取器由FolderP…
页内导航是在一个页面内根据需要加载其他页面的内容,在开发基于JavaScript的Windows应用商店应用时,可以使用WinJS.Navigation.navigate函数传递要加载的页面地址并使用PageControlNavigator控件加载其他页面的内容.WinJS.Navigation.navigate函数以一个包含页面地址的对象为参数,在该函数执行时将触发WinJS.Navigation.onnavigated事件并把页面地址传递给该事件.PageControlNavigator控件…
使用Projection类可以实现界面元素的三维效果,它可以使界面上的元素在三维空间中沿着X轴.Y轴或者Z轴旋转一定的角度,在透视转换中此类又称为元素的Projection属性,用于对元素使用3D特效,Projection属性中包含一个PlaneProjection元素,用于声明3D特效,即声明元素在三维空间中的呈现方式.下面通过一个示例演示3D特效带来的视觉体验. 启动Visual Studio 2012,新建一个Windows应用商店的空白应用程序项目,将其命名为3DAnimationApp…
Windows 8系统下开发App程序,对于.NET程序员来说,需要重新熟悉下类库. 关于WinRT,引用一张网上传的很多的结构图: 图1 针对App的开发,App工作在系统划定的安全沙箱内,所以通过Win32去调用U盘获取数据是不行了.下面来看下在WinRT下如何 读取U盘数据. 1.Win 8 store app项目打开Package.appxmanifest配置文件 2.选择Capabilities标签页,勾选Removalbe Storage,也可以在配置文件中的  <Capabilit…
在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask photoChooserTask = new PhotoChooserTask(); photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed); // 设置 宽.高 photoC…
在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是通过 DisplayInformation 类,方法如下: // 横屏 Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations…
前面介绍了如何对本地应用存储空间中的文件以及文件夹进行操作,在应用中除了可以对本地应用存储空间进行操作之外,还可以对应用程序安装目录进行相关操作.本节将通过一个示例,详细讲解如何对应用程序安装目录中的文件进行操作,此示例可以实现获取应用程序安装目录下的图片文件并将其显示,还可以实现复制安装目录下的文件. 在Visual Studio 2012中新建一个Windows应用商店的空白应用程序项目,并命名为InstalledLocationApp.双击打开项目的MainPage.xaml文件,在Gri…
与上面介绍的三种不同应用程序数据存储类型对应,应用程序有三种数据存储空间,分别为本地应用程序数据存储空间.漫游应用程序数据存储空间和临时应用程序数据存储空间.通过使用ApplicationData类的LocalFolder属性即可获取本地应用程序数据存储空间的根文件夹,而漫游和临时应用程序数据存储空间的根文件夹则可分别通过该类的RoamingFolder和TemporaryFolder属性来获取,在获得数据存储空间的根文件夹之后,可以对相应存储空间进行操作. 下面以本地应用程序数据存储空间为例(…
http://www.cnblogs.com/suxsho/ 原创,转载请声明 ======================================================================================== WSA(这是啥)一个不被国内开发者重视的市场,但是我相信依然有人会重视,于是找不到教程,于是自己苦逼研究,最后我写了文章分享大众. =======================================================…
前面提到过,文件打开选取器由FileOpenPicker类表示,用于选取或打开文件,而文件夹选取器由FolderPicker类表示,用来选取文件夹.在FileOpenPicker类中,pickSingleFileAsync函数用于选取单个文件,pickMultipleFilesAsync函数用于选取多个文件:而FolderPicker类中只有一个pickSingleFolderAsync函数,用来选取单个文件夹.下面以一个应用程序为例来演示如何选取文件或文件夹. 新建一个JavaScript的W…
 获取你的开发者许可证 开发人员许可证是免费.如果您通过使用微软账户获取一个或多个开发人员的许可证,您必须续订他们每隔 30 天 当您运行或调试应用程序第一次在远程机器上或直接连接到您的开发计算机的设备上时,系统会提示你下载单独开发者为该机器或设备的许可.你无法开发人员许可证在计算机上远程安装,因此您必须通过使用机器或设备本身获取许可证.您在该远程计算机或设备上安装开发人员许可证后,您可以安装. 运行和调试还没被认证的软件包.在远程计算机上的开发者许可并不影响店里已经证明的应用程序或桌面应用程序…
在应用程序中有时可能需要获取用户库中的内容,以便执行相关的操作.如果要获取某个用户库中的内容,需要先获取到这个用户库,获得用户库可以通过Windows.Storage命名空间中的KnownFolders类的相应属性来实现,可用属性包括documentsLibrary(文档库).musicLibrary(音乐库)和videosLibrary(视频库)等.获取到用户库之后,就可以使用KnownFolders类中的getItemsAsync.getFilesAsync或getFoldersAsync函…
WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控件的方法相似:在页面中添加一个div元素,将div元素的data-win-control属性设置为WinJS.Binding.Template.定义WinJS库模板以后,需要在WinJS库模板内部添加控件以显示绑定的数据,WinJS库模板内部只能有一个根元素,当绑定多条数据时,需要在WinJS库模板…
简单对象绑定是一种基本的绑定类型,可以实现将一个对象中的数据绑定到HTML元素的属性.下面通过一个示例来演示如何使用HTML5和JavaScript开发一个实现简单对象绑定的Windows应用商店应用程序.在这个应用程序中将一个img控件与一个包含图片路径信息的对象相绑定,实现在img控件中显示图片. 在Visual Studio 2012中新建一个JavaScript的Windows应用商店的空白应用程序项目,将其命名为SimpleObjectBinding.接着添加项目中用到的图片文件,在项…
  在开发基于JavaScript的Windows应用商店应用时,可以使用HtmlControl和PageControl控件加载一个页面,这两个WinJS库控件曾在上面的内容中提到过,HtmlControl控件接收一个包含页面地址的对象作为参数,并根据这个地址加载相应的页面:PageControl控件是自定义控件,可以使用WinJS.UI.Pages.define函数将一个页面定义为PageControl控件,然后在其他页面中使用,使用这个PageControl控件就相当于加载了该控件相对应的页…
通过前面内容的学习,相信读者已经对开发基于JavaScript的Windows应用商店应用有了一定的了解,本小节通过一个小球运动的示例来介绍如何新建一个JavaScript的Windows应用商店项目,以及怎样向项目中添加功能实现代码. 首先启动Visual Studio 2012集成开发工具,打开"文件"菜单,选择其中的"新建项目"菜单项后会弹出"新建项目"窗口.在"新建项目"窗口左侧的JavaScript模板分类中选择&q…
在介绍了如何使用标准的HTML控件以及WinJS库中提供的新控件之后,下面来着重介绍WinJS库中几种常用的控件. (1)ListView控件 在开发Windows应用商店应用时可以使用ListView控件以网格或列表的方式显示多条数据.ListView控件的常用属性有: q  groupDataSource属性,用来设置分组的数据源. q  groupHeaderTemplate属性,用来为分组的头部设置模板. q  itemDataSource属性,用来为组中的数据项设置数据源. q  it…
HttpClient类包含在System.Net.Http命名空间中,是向以URI标识的网络资源发送HTTP请求和接收HTTP响应的基类.在HTTP请求中使用该类可以向Web服务发送GET.POST等异步请求,并接收服务器返回的响应数据. 下面以一个应用程序为例,介绍如何使用HttpClient类向Web服务发送GET请求并接收响应数据.该应用使用HttpClient类从网络获得XML格式的数据并在应用界面上显示. 在Visual Studio 2012中新建一个Windows应用商店的空白应用…
在Windows应用商店应用中提供了MediaElement控件,该控件能为应用提供音频和视频播放功能.就像之前提到的,虽然在多媒体应用开发中,开发人员可以自行开发一套音频.视频编解码规范和开发媒体播放控件,但是这需要花费一定的工作量去完成,而使用MediaElement控件及其方法.属性及事件可以满足大部分一般应用开发的需求. 9.3.1     MeidaElement控件介绍 MediaElement控件本身并没有提供媒体操作界面,但是它提供了一组用于媒体操作相关的属性.事件及方法供开发人…
通过上面的介绍,读者已经了解了Image对象及ImageBrush对象的使用方法和常用属性,在实际的开发工作中,比较常用的是Image对象,下面以一个幼儿园识物识字卡应用为例,来帮助读者更好的理解Image对象.ImageBrush对象的使用方法.在本示例中,可以实现随机将若干图片以任意角度摆放在应用界面的任意位置上.同时在这个示例中还会介绍与图片手势操作相关的内容,通过对图片的手势操作可以实现图片的拖动.缩放和旋转效果. 启动Visual Studio 2012,新建一个Windows应用商店…
在Windows应用商店应用中可以使用两种方法来显示图片,这两种方法分别为使用Image对象和使用ImageBrush对象.Image对象可以直接呈现一幅图像,而ImageBrush对象则可以用一幅图像来绘制其他对象. 9.2.1 Image和ImageBrush 本节将介绍Image对象和ImageBrush对象的使用方法.常用属性等,下面先通过一个示例介绍Image对象的使用方法. 首先新建一个Windows应用商店的空白应用程序项目,并命名为ImageSample,在项目中新建一个名为Pi…
上面几个小节通过示例介绍了如何引用资源以及设置应用语言来显示不同语言的信息,这些示例都只是添加了简体中文和英语两种语言来显示资源,而在一些复杂的应用程序中,字符串资源可能会被定义成多种语言,文件资源也可能为了根据不同的环境显示不同的效果而在程序中存储多种版本,这时应用程序就需要根据使用情况选取最匹配的资源作为应用的首选资源,本小节将通过示例模拟应用选取匹配资源的过程. 1.匹配规则 在应用程序运行时,应用对资源的选取受许多方面的因素的影响,例如系统的语言.屏幕的大小.分辨率和对比度等.应用程序的…
上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍如何在指定页面上添加语言可选项,选择语言选项后单击"显示信息"按钮来显示相应语言的信息. 新建一个Windows应用商店的空白应用程序项目,并命名为OverrideLanguage.在项目中添加如18.2.3小节示例中相同的语言文件夹.资源文件以及资源. 双击打开MainPage.xaml…
当开发者将开发的应用上传到Windows应用商店以后,使用Windows 8系统的用户可能会看到并下载这些应用,而这些用户所在的区域或者所使用的语言可能都不相同,如果他们在使用应用程序时希望改变应用显示信息的语言为自己所熟悉的语言,这就需要应用能够提供一个语言设置选项,并在选项中包括用户所在地区的语言,这样就能够在应用中更加准确的为用户提供所需要的界面语言而不受区域的影响.下面将通过示例讲解如何在应用中添加"语言设置"选项,通过设置应用的语言来显示不同的信息. 新建一个Windows应…
在应用程序运行过程中,系统的语言.像素.对比度等系统设置可能会发生改变,应用程序应根据系统环境的改变及时做出适当的响应.为了解决这样的问题,可以在应用程序中为系统状态更改事件注册事件处理方法,当语言.像素等系统设置信息发生改变时将触发这个事件,并在事件处理方法中根据环境变化做出相应的调整.下面通过一个具体的示例来演示如何在应用程序中注册状态更改事件,并在所添加的事件处理方法中对语言首选项的更改做出响应. 新建一个Windows应用商店的空白应用程序项目,并命名为RuntimeChanges.在项…
前面几个小节介绍了如何引用自身项目的资源,而有时在应用程序开发过程中可能需要访问其他项目中的资源.例如,当几个人或十几个人一起设计一个解决方案时,每个人的工作都是不同的,编写的项目也是不同的,但是每个人都可能需要访问其他项目的某些资源,这就引入了类库资源的概念.对于每一个项目都能够引用的资源,我们称它为类库资源.下面通过一个示例具体讲解如何引用类库中的资源. 新建一个Windows应用商店的空白应用程序项目,并命名为GetClassLibraryResources.在解决方案资源管理器中,右键单…