zoukankan      html  css  js  c++  java
  • 快速构建Windows 8风格应用16SettingContract原理及构建

    本篇博文主要介绍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示例下载地址

  • 相关阅读:
    基本技能训练之线程
    关于UEditor的使用配置(图片上传配置)
    PAT 乙级练习题1002. 写出这个数 (20)
    codeforces 682C Alyona and the Tree DFS
    codeforces 681D Gifts by the List dfs+构造
    codeforces 678E Another Sith Tournament 概率dp
    codeforces 680E Bear and Square Grid 巧妙暴力
    codeforces 678D Iterated Linear Function 矩阵快速幂
    codeforces 679A Bear and Prime 100 交互
    XTUOJ 1248 TC or CF 搜索
  • 原文地址:https://www.cnblogs.com/wzk89/p/2715414.html
Copyright © 2011-2022 走看看