快速构建Windows 8风格应用16-SettingContract原理及构建

原文:快速构建Windows 8风格应用16-SettingContract原理及构建

本篇博文主要介绍Setting Contract概述、Setting Contract实现基本原理、如何构建Setting Contract、构建Setting Contract最佳实践。

Setting Contract概述

1)  Setting Contract在当前的应用中提供了快速、上下文相关的沉浸式的设置访问体验;

2)  Setting Contract始终是可用的;

3)  设置包括始终可用的系统设置、让用户可以控制应用对系统设备和功能的访问的系统代理设置、以及当前应用程序指定的设置;

我们可以从屏幕右边缘轻扫划出超级按钮,选择“设置”显示设置窗口。设置窗口中既包括应用设置又包括系统设置。

对于开发者,可以通过SettingCommand提供设备面板中入口点,并且这些入口点显示在设置窗口的顶端,其中“权限”和“评论和打分”[注意:只有通过Windows应用商店审核后的应用程序才有该入口点]两个入口点由系统提供。设置面板底端包括由系统提供的电脑设置[音量、亮度、电源等信息]。

Setting Contract实现基本原理

1)  注册设置面板中CommandsRequested事件;

2)  在相关设置事件的回调函数中指定SettingsCommand命令;

3)  最后将SettingsCommand命令添加到ApplicationCommands中,使该命令在设置面板中生效;

如何构建Setting Contract

上面刚刚提到实现Setting Contract的基本原理,那我们如何在应用程序中实现Setting Contract呢?

第一步:

注册CommandsRequested事件。

第二步:

onCommadsReqested回调函数中添加SettingsCommand命令,其中SettingsCommand类中构造函数包含三个参数。

三个参数分别为settingsCommandId[设置命令的Id,该参数为object类型]、label[控制面板中入口点显示信息]、handler[触发该入口点时执行的操作,该参数类型为UICommandInvokedHandler]。

回调函数中:

我们声明SettingsCommand对象设置handler参数时,可以使用Lambda表达式方式处理该入口点击时触发的操作,也可以声明UICommandInvokedHandler对象进行设置handler参数。

其中UICommandInvokedHandler委托对象中需要传递一个类型为IUICommand的参数。

代码可如下:

注意:我们也可以在设置面板中某一入口点中点击处理代码中声明SettingsFlyout对象,并且在该对象中添加自定义控件,用于在控制面板中显示。

代码可如下:

我们可以设置SettingsFlyout对象的Content、HeaderBrush、HeaderText等属性,其中AboutUserControl为用户自定义控件。

我们可以通过右键选中应用程序解决方案=>添加=>添加新项,在弹出面板中找到用户控件并添加。

然后我们可以设置自定义控件的显示的样式和信息。代码可如下:

第三步:

SettingsCommand命令添加到ApplicationCommands中,使该入口点在设置面板中生效。

完成这三个步骤之后,我们可以运行自己应用程序看一下设置面板中有什么变化。运行效果:

我们可以看到自己添加的两个入口点已经显示在设置面板中了。点击某一入口点执行预先设置好的操作。

上图中显示的就是自定义控件中设置的内容。

构建Setting Contract最佳实践

1)  在Setting Contract中设置应用的相关特性;

2)  Setting Contract中不要包含任务流程;

3)  添加的设置项不要超过四项;

4)  将很少使用的设置项进行整合;

5)  为常用的设置项提供入口;

6)  设置的层级不要超过两极;

7)  当用户改变了设置后,应用将立即作出反映;

8)  为同种类型的设置提供相同的设置体验;

9)  每个设置项应有一个简洁易懂的说明;

10)不要使用设置导航到应用的其他部分;

11)设置面板中推荐使用的控件有:ToggleSwitch、Button、HyperlinkButton、TextBox、RadioButton和CheckBox;

更多关于Setting Contract使用建议可参考:应用设置指南(Metro风格应用)

Setting Contract示例下载地址

时间: 2024-07-29 02:25:14

快速构建Windows 8风格应用16-SettingContract原理及构建的相关文章

快速构建Windows 8风格应用36-商店应用发布流程

原文:快速构建Windows 8风格应用36-商店应用发布流程 引言 在发布应用之前,我们需要注册开发者账号才能够发布应用.我们可以登录https://appdev.microsoft.com/StorePortals/ 该网址进行注册开发者账号,同时我们也可以点击这里来浏览MSDN给到的开发者账号注册的详细步骤.那么注册完成开发者账号后,如何发布Windows Store 应用程序呢? Windows Store App 发布流程 1,使用Visual Studio 2012打开要上传的应用,

快速构建Windows 8风格应用32-构建辅助磁贴

原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕)",大家都知道这种固定到开始屏幕的磁贴叫做辅助磁贴(也叫二级磁贴),用户可以通过该辅助磁贴启动应用程序并导航到应用程序中某一个页面或某一位置. 其实Windows 8 Store风格应用程序也引入了辅助磁贴的概念,用户在使用Windows 8 Store应用的辅助磁贴和Windows Phone

快速构建Windows 8风格应用35-触控输入

原文:快速构建Windows 8风格应用35-触控输入 引用 Windows 8设备通常具有多点触摸屏,用户可以同时使用多个手指来进行不同的输入交互,如点击.拖动或收缩等手势操作.另外Windows 8中将触摸.鼠标和笔/触笔交互是作为指针输入进行接收.处理和管理. 一.手势处理 首先我们来汇总一下Windows 8中常用的手势都有哪些. 1,点击:用一个手指触摸屏幕,然后抬起手指. 2,长按:用一个手指触摸屏幕并保持不动. 3,滑动:用一个或多个手指触摸屏幕并向着同一方向移动. 4,轻扫:用一

快速构建Windows 8风格应用22-MessageDialog

原文:快速构建Windows 8风格应用22-MessageDialog 本篇博文主要介绍MessageDialog概述.MessageDialog常用属性和方法.如何构建MessageDialog   MessageDialog概述 MessageDialog指的就是对话框. 对话框的命令栏中最多包含三个命令.如果我们指定任何命令,将会有一个默认命令添加到对话框中,目的是关闭对话框. 对话框弹出后界面中所有元素将在对话框下面显示,并且将会阻塞任何触摸事件直到用户进行响应对话框. 另外对话框应该

快速构建Windows 8风格应用23-App Bar概述及使用规范

原文:快速构建Windows 8风格应用23-App Bar概述及使用规范 本篇博文主要介绍App Bar概述.App Bar命令组织步骤.App Bar最佳实践.   App Bar概述 Windows 8 Store应用中的App Bar(应用程序工具栏)起到的作用和Windows Phone中AppBar一样.我们可以向用户提供各种操作接口,实现导航或者触发命令等. AppBar一般默认是隐藏的,也可以设置为始终可见.我们可以通过清扫屏幕上边缘或下边缘时显示AppBar,AppBar被点击

快速构建Windows 8风格应用26-本地应用数据

原文:快速构建Windows 8风格应用26-本地应用数据 本篇博文主要介绍如何获取应用的设置和文件容器.如何将数据写入设置.如何从设置中获取数据.如何删除设置中数据.如何将数据写入文件.如何从文件中获取数据. 当应用安装时,系统会为设置和文件等应用数据提供它自己的每用户数据存储.我们不需要知道这些数据存在哪里或如何存储,因为系统会负责管理物理存储工作.我们只需使用应用数据API就可以了. 本地应用数据一般用于当前设备数据的持久化,并且本地数据没有限制大小,通常情况使用本地数据存储大型数据集.

快速构建Windows 8风格应用2-创建调试应用

原文:快速构建Windows 8风格应用2-创建调试应用 本篇博文主要介绍的是创建应用时可以选择哪些模版,生成默认的Windows 8风格应用解决方案中含哪些文件,最后是如何调试Windows 8风格应用. 我们如何使用Visual Studio 2012创建Windows 8风格应用呢?可归结为以下几步: 1.选择我们要使用的开发语言,例如:JavaScript.C++.C#.Visual Basic. 2.选择项目模版,可以选择以下常用的项目模版: 1)拆分应用(Split App)模版 可

快速构建Windows 8风格应用30-应用生命周期管理

原文:快速构建Windows 8风格应用30-应用生命周期管理 引言 Windows 8 中可以启动多个应用并在其中切换,我们没有必要担心降低系统速度或消耗电池电量. 因为系统会自动挂起(有时会终止)在后台正在运行的应用.设计良好的应用可以由系统挂起.终止以及重新启动,并且这些过程看起来该应用一直在运行中. 一.原理 1.当激活了应用时,无论任何原因,系统都会发送 Activated 事件 2.每当用户切换到桌面或其他应用时,系统都会挂起你的应用,系统会发送Suspending事件 3.每当用户

快速构建Windows 8风格应用20-MediaElement

原文:快速构建Windows 8风格应用20-MediaElement 本篇博文主要介绍MediaElement概述.MediaElement对象介绍.MediaElement常用属性.如何控制媒体播放. MediaElement概述 通常在Windows 8风格应用中播放音频或视频文件时是使用MediaElement类进行构建的. MediaElement对象提供了用于播放视频或音频的属性和方法. 相关MediaElement的开发示例可参考该链接:XAML media playback sa

快速构建Windows 8风格应用19-基础控件II

原文:快速构建Windows 8风格应用19-基础控件II 本篇博文接着上篇博文<快速构建Windows 8风格应用18-基础控件I>介绍开发Windows 8风格应用中常用控件. Slider: Slider控件常见的效果图: 如何在XAML代码中声明Slider控件呢?代码如下: Value属性值表示Slider控件显示的初始值,应用运行状态下我们也可以拖动改变Slider控件的值. C#代码中声明Slider控件.代码可以如下: 可以通过ValueChanged事件获取Slider控件当