程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Windows 8風格應用開發入門 十六 SettingContract原理及構建

Windows 8風格應用開發入門 十六 SettingContract原理及構建

編輯:關於.NET

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示例下載地址。

本文出自 “王祖康” 博客,請務必保留此出處http://wzk89.blog.51cto.com/1660752/1017949

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved