摘要:
缓存页面 当运行最后一个例子时,可能会注意到如果点击Page2 的Back按钮,Page1的TextBox控件的值是空的。假设用户浏览过Page2 的结果之后,想返回页面并改变之前页面的值,如果Page1有很多字段要填写,当应用程序返回到Page1 界面时,用户不喜欢看到所有的字段都是空的。可以指定一个页面通过使用NavigationCacheMode属性作为缓存页面,在BasicPage1页面... 阅读全文
摘要:
Frame和Page类 在为应用程序添加更多的函数之前,需要了解添加过的页面如何为应用程序提供导航支持。Frame类主要用来相应导航,或者执行一些类似Navigate, GoBack, 和 GoForward的方法。使用Navigate方法使内容显示在框架中。在先前的例子中App.OnLaunched方法创建一个Frame并将BasicPage1传递给Navigate方法。然后这个方法设定应用程... 阅读全文
摘要:
11.1 页面间的导航 可以为Metro风格的应用程序创建多个页面,并且可以支持用户在多个页面中进行导航,类似于在一个简单网站上进行的导航。Visual studio 11拥有页面模板,可以提供基本的导航支持。 注意,当在Metro风格的应用程序中说到导航时,我们指的是在一个应用程序的不同页面的导航,而不是在不同的应用程序之间的导航。 11.1.1 创建导航应用程序 1)创建一个新的Met... 阅读全文
摘要:
15.2.2 应用挂起 首先,注册挂起事件处理函数,这表明应用在系统挂起它之前应将其数据保存,代码如下。 using System; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; using Windows.UI.Xaml; partial class MainPage { pu... 阅读全文
摘要:
15.2 应用状态处理 下面将介绍Metro风格的应用中,激活,挂起,恢复的具体方法,以及响应应用的生命周期事件。 15.2.1 应用激活 首先,重写OnLaunched处理函数。当应用被激活时,处于某些原因会发送Activated事件。Windows.UI.Xaml.Application类定义了一些方法,可以用来重写处理函数,处理不同激活类型的情况,有几种激活类型带有具体的可重写方法,对... 阅读全文
摘要:
15.1.3 恢复状态 当应用恢复时,其会从挂起前的状态起继续运行。具体来说就是,在应用处于挂起状态时,应用程序的数据和状态保存在内存中,当应用恢复时,应用的各方面都和挂起时的状态一样,不需要在收到恢复事件的时候通过代码还原任何数据。 在遇到用户需要应用处在链接状态,并需要显示最新信息的情况中,有可能应用处于挂起状态很长时间才恢复,挂起期间数据或网络链接会过时,并需要在应用恢复时刷新内容。当应... 阅读全文
摘要:
掌握了Windows 8有关的生命周期模型,能够帮助用户轻松管理应用程序的运行,也可以使开发人员制作出具有极高用户体验的应用程序,即便应用在后台进行,也不会影响到设备的性能和电池情况。正确使用生命周期事件,。即便应用不再屏幕上运行显示,也可以让用户感觉到应用处在活跃状态。 一般情况下,在使用诸如笔记本,平板,或手机时,如果我们暂不需要使用某个程序,同时希望让其自身仍保持运行状态,从而使得应用间可... 阅读全文
摘要:
6)计算最佳路线。执行线路计算的核心算法定义在AntSystem.h和AntSystem.cpp中,这些文件定义了AntSystem命名空间,这个命名空间不包含WinRT上的依附元素,所以并不使用C++/CX。AntSystem.h定义了LatLong,Node和Edge结构体,同时也定义了OptimizeRoute函数。 LatLong结构体表示地图上一个点的经纬度,代码如下。 stru... 阅读全文
摘要:
TripOptimizerImpl::OptimizeTripAsync方法调用TripOptimizer::OptimizeTrip方法作为异步操作的一部分,TripOptimizer::OptimizeTrip方法调用TripOptimizer::CreateGraph创建出行路线的图像,每个位置由一个节点表示,并且每个节点对由棱边相连,一个节点包含了一个位置的名称,经纬度等信息,而棱边包含两点间的距离,相关代码如下。//创建表示出游地形的图像void TripOptimizerImpl::CreateGraph(const vector<wstring>& waypo 阅读全文
摘要:
3)创建TripOptimizer和TripOptimizerImpl类。C++组件包含一个WinRT类“TripOptimizerComponent::TripOptimizer”,这个类衔接其他WinRT组件,“TripOptimizer”类只定义了与其他WinRT组件通信的方法,而具体实现细节由TripOptimizerImpl类来处理,选择这个模式是来更好的封装公共接口,并将其从具体实现细节中分离,代码如下。//定义TripOptimizer类.这个类衔接应用和具体实现细节public ref class TripOptimizer sealed{public:TripOptimize 阅读全文
摘要:
local context中的“receiveMessage”函数解析消息,并将函数的调用,路由到适当的消息处理函数,这样反序列化的JavaScript对象的“invoke”字段值是“load”,所以local context调用“optimizerLoad”函数,对default.html 页面的部分代码如下。 function receiveMessage(event) { var dat... 阅读全文
摘要:
下面是对使用JavaScript的Bing Maps Trip Optimizer示例的介绍,讲述应用的JavaScript部分组织形式,本地的上下文和网络上下文之间的通信。 WinRT需要访问网络的代码,下面是一些需要访问网络的活动示例。 q 加载一个外部JavaScript文件,比如Bing Maps的AJAX控件。 q 加载外部CSS。 q 使用XmlHttpRequest。 Bi... 阅读全文
摘要:
在编写《Windows 8 应用开发权威指南》这本图书的时候,查阅了很多的资料,最后有很多都没有上,最后这本图书还是上了1000页,下面是当时翻译和学习的部分笔记。这节介绍使用JavaScript和VC++创建一个Windows Store风格的应用,我们使用Bing Map有关的,寻找最佳出游路径的应用(即“Bing Maps Trip Optimizer”应用)。使用JavaScript的Metro风格的应用,与网站不同的是,其不是由网络服务器,一页一页地进行部署,而是由用户安装在机器上。JavaScript的Metro风格应用可以直接访问底层平台,同其他应用分享信息。Bing Maps 阅读全文