天天看點

快速建構Windows 8風格應用16-SettingContract原理及建構

本篇博文主要介紹Setting Contract概述、Setting Contract實作基本原理、如何建構Setting Contract、建構Setting Contract最佳實踐。

Setting Contract概述

1)  Setting Contract在目前的應用中提供了快速、上下文相關的沉浸式的設定通路體驗;

2)  Setting Contract始終是可用的;

3)  設定包括始終可用的系統設定、讓使用者可以控制應用對系統裝置和功能的通路的系統代理設定、以及目前應用程式指定的設定;

我們可以從螢幕右邊緣輕掃劃出超級按鈕,選擇“設定”顯示設定視窗。設定視窗中既包括應用設定又包括系統設定。

快速建構Windows 8風格應用16-SettingContract原理及建構

Setting Contract實作基本原理

快速建構Windows 8風格應用16-SettingContract原理及建構

如何建構Setting Contract

上面剛剛提到實作Setting Contract的基本原理,那我們如何在應用程式中實作Setting Contract呢?

第一步:

注冊CommandsRequested事件。

快速建構Windows 8風格應用16-SettingContract原理及建構

第二步:

快速建構Windows 8風格應用16-SettingContract原理及建構

三個參數分别為settingsCommandId[設定指令的Id,該參數為object類型]、label[控制台中入口點顯示資訊]、handler[觸發該入口點時執行的操作,該參數類型為UICommandInvokedHandler]。

回調函數中:

快速建構Windows 8風格應用16-SettingContract原理及建構

其中UICommandInvokedHandler委托對象中需要傳遞一個類型為IUICommand的參數。

快速建構Windows 8風格應用16-SettingContract原理及建構

代碼可如下:

快速建構Windows 8風格應用16-SettingContract原理及建構

注意:我們也可以在設定面闆中某一入口點中點選處理代碼中聲明SettingsFlyout對象,并且在該對象中添加自定義控件,用于在控制台中顯示。

快速建構Windows 8風格應用16-SettingContract原理及建構

我們可以設定SettingsFlyout對象的Content、HeaderBrush、HeaderText等屬性,其中AboutUserControl為使用者自定義控件。

我們可以通過右鍵選中應用程式解決方案=>添加=>添加新項,在彈出面闆中找到使用者控件并添加。

快速建構Windows 8風格應用16-SettingContract原理及建構

然後我們可以設定自定義控件的顯示的樣式和資訊。代碼可如下:

快速建構Windows 8風格應用16-SettingContract原理及建構

第三步:

快速建構Windows 8風格應用16-SettingContract原理及建構

完成這三個步驟之後,我們可以運作自己應用程式看一下設定面闆中有什麼變化。運作效果:

快速建構Windows 8風格應用16-SettingContract原理及建構

我們可以看到自己添加的兩個入口點已經顯示在設定面闆中了。點選某一入口點執行預先設定好的操作。

快速建構Windows 8風格應用16-SettingContract原理及建構

上圖中顯示的就是自定義控件中設定的内容。

建構Setting Contract最佳實踐

1)  在Setting Contract中設定應用的相關特性;

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

3)  添加的設定項不要超過四項;

4)  将很少使用的設定項進行整合;

5)  為常用的設定項提供入口;

6)  設定的層級不要超過兩極;

7)  當使用者改變了設定後,應用将立即作出反映;

8)  為同種類型的設定提供相同的設定體驗;

9)  每個設定項應有一個簡潔易懂的說明;

10)不要使用設定導航到應用的其他部分;

11)設定面闆中推薦使用的控件有:ToggleSwitch、Button、HyperlinkButton、TextBox、RadioButton和CheckBox;

繼續閱讀