[Windows 8 App]Charms Bar介紹(後台程式碼)
在開始寫後台的程式碼之前,先了解需要用到的方法和類別
SrttingsPane類別:在 using Windows.UI.ApplicationSettings 的命名空間下
使應用程式可以編輯設定面板中的設定選項,例如:新增、移除命令或接收通知
IUICommand類別:在 using Windows.UI.Popups 的命名空間下
表示上下文選單或對話方框中的命令
SettingsCommand類別:在Windows.UI.ApplicationSettings 的命名空間下
表示設定面板中的設定選項
開啟【MainPage.xaml.cs】
在我們剛剛點擊的Button的Click事件下輸入一段程式碼
private void ReadingModeSetting_Click(object sender, RoutedEventArgs e)
{
SettingsPane.GetForCurrentView().CommandsRequested += SetReadingModeCommandsRequested;
SettingsPane.Show();
}
在上面的方法中為SettingsPane類別的GetForCurrentView().CommandsRequested事件註冊事件處理方法SetReadModeCommandsRequested
在用戶按下”更改閱讀模式”按鈕時打開設置面板時,會啟用這個方法來項設定面板中新增設定選項
最後調整SettingsPane類別的Show方法,這樣使用者在點擊葉面中的按鈕時就會自動彈出設定面板
下面是SetReadingModeCommandsRequested 的方法,用來設置選項以及將設置選項新增道設置面板中
程式碼如下:
void SetReadingModeCommandsRequested(SettingsPane settingsPane, SettingsPaneCommandsRequestedEventArgs eventArgs)
{
eventArgs.Request.ApplicationCommands.Clear();
SettingsCommand daytimeModeCommand = new SettingsCommand("dayReadingModeSettings"
, "日間閱讀系統", (IUICommand command) =>
{
ShowSettings.Text = "已切換為日間閱讀模式";
});
eventArgs.Request.ApplicationCommands.Add(daytimeModeCommand);
SettingsCommand nighttimeModeCommand = new SettingsCommand(
"nightReadingModeSettings", "夜間閱讀模式" ,(IUICommand command) =>
{
ShowSettings.Text = "已切換為夜間閱讀模式";
});
eventArgs.Request.ApplicationCommands.Add(nighttimeModeCommand);
}
上面的程式碼中,首先調整參數eventArgs的Request.ApplicationCommands.Clear 方法清空設置面板中的設置選項
這樣可以避免重複新增
接著兩個SettingsCommand類別用來定義設定面板的設定選項
兩個設定選項的方式都是一樣的,差別在於一個是日間的,一個是夜間的
那我們拿日間的來做介紹,夜間的也是一樣的意思
SettingsCommand 類別定義ID為daytimeModeCommand
選項的顯示文字為"日間閱讀模式"
並且在做選擇後,文字方塊顯示為"已切換為日間閱讀模式"
最後,用eventArgs對象的Request.ApplicationCommands.Add方法將"日間閱讀模式"選項新增到設定面板中
夜間模式與日間模式是一樣的意思!!
專案的執行畫面:
點擊閱讀模式,會開啟右邊的功能欄
這是準備點擊夜間閱讀模式
可以看到日間模式轉換成夜間模式