動手實驗
實驗6:設定和喜好設定
2012年9月
簡介
實驗3介紹了合約並示範了應用程式如何輕鬆地與共用和搜尋合約實現整合。合約同樣包含設定常用鍵,它對活動的Windows市集應用的設定進行修改。在您選擇設定常用鍵時出現的設定窗格中,作業系統提供一個許可權命令,它允許使用者啟用或禁用程式的某些功能,例如對網路攝影機和麥克風的訪問。值得注意的是您可以向設定窗格添加命令並將它們串連到設定頁面。這為使用者提供了方便地訪問喜好設定,關於框和其他應用程式特定的設定內容。
在本實驗中,您將向Contoso Cookbook的設定窗格添加About 和 Preferences命令。您將公開一個簡單的使用者喜好設定,它可以通過一個切換開關被開啟和關閉,並且您將使用漫遊設定儲存這個喜好設定以使它跟隨使用者一起移動。
目標
本實驗將向您展示如何:
向設定窗格添加About命令和關於頁面。
向設定窗格添加Preferences(喜好設定)命令和喜好設定頁面。
使用漫遊設定儲存使用者喜好設定。
系統要求
您需要下列軟體完成本實驗:
Microsoft Windows 8
Microsoft Visual Studio 2012
設定
您必須執行以下步驟來準備本實驗的電腦:
1.安裝Microsoft Windows 8。
2.安裝Microsoft Visual Studio 2012。
練習
本動手實驗包含以下練習:
1.添加關於頁面
2.添加喜好設定頁面
3.實現喜好設定
完成本實驗的預計時間:30至40分鐘。
練習1: 添加關於頁面
在本練習中您將向Contoso Cookbook添加一個簡單的關於頁面。您將使用在實驗4中添加的Callisto庫中的SettingsFlyout類來處理關於頁面。
任務1 – 添加關於命令
第一步是向設定菜單添加一個About命令,我們將通過處理SettingsPane.CommandsRequested事件來完成。
1、在Visual Studio中開啟您在實驗4中完成的ContosoCookbook項目。如果您尚未完成實驗4或希望從一個參考副本開始,您可以在開始材料中找到實驗已完成的版本。
2、開啟App.xaml.cs並添加以下using語句。
C#
using Windows.UI.ApplicationSettings;
using Callisto.Controls;
using Windows.UI;
3、向App類添加以下欄位。
C#
private Color _background = Color.FromArgb(255, 0, 77, 96);
4、在OnLaunched方法中,緊挨著為SuggestionsRequested事件註冊事件處理常式的語句之後,添加以下語句。
C#
// 在設定窗格為CommandsRequested 事件註冊事件處理常式
SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;
5、向OnSearchActivated方法添加相同的語句(再次緊挨著為SuggestionsRequested事件註冊事件處理常式的語句之後),以保證即使應用程式從Windows 8搜尋窗格被啟用,CommandsRequested事件也會被處理。
6、向App.xaml.cs添加以下事件處理常式。
C#
void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args){ // 添加關於命令 var about = new SettingsCommand("about", "About", (handler) => { var settings = new SettingsFlyout(); settings.Content = new AboutUserControl(); settings.HeaderBrush = new SolidColorBrush(_background); settings.Background = new SolidColorBrush(_background); settings.HeaderText = "About"; settings.IsOpen = true; }); args.Request.ApplicationCommands.Add(about);}
注意:這裡您通過向傳遞給CommandsRequested事件的ApplicationCommands集合添加一個SettingsCommand對象以向設定菜單添加命令。SettingsCommand建構函式的第三個參數是命令被調用時被調用的處理常式。在本樣本中,您使用Callisto中的SettingsFlyout類從處理常式顯示關於頁面。當然關於頁面還沒有被建立。您將在下一個任務中建立它。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/