(本記事はVisualStudio2012RC&Windows8RPで確認しております)
これまで何度かコントラクトについて触れてきました。
MetroStyleApp入門 vol11.共有コントラクトを利用する
MetroStyleApp入門 vol20.色々なコントラクト(共有コントラクトを利用する)
今回は設定などを行う「設定コントラクト」についてご紹介します。
設定コントラクトを利用することでチャームの設定からアプリ情報や設定を行うメニューを表示することができます。
設定コントラクトの設置
設定コントラクトの設置にはCommandsRequestedにイベントハンドラーを指定します。
SettingsPane.GetForCurrentView().CommandsRequested += onCommandsRequested;
アプリを起動してチャームから設定を選ぶと上記イベントハンドラーが呼び出されます。
その際にUICommandInvokedHandlerで指定した処理を設定します。
一連のコードは以下です。
SettingsPane.GetForCurrentView().CommandsRequested += onCommandsRequested; } void onCommandsRequested(SettingsPane settingsPane, SettingsPaneCommandsRequestedEventArgs eventArgs) { UICommandInvokedHandler handler = new UICommandInvokedHandler(onSettingsCommand); SettingsCommand generalCommand = new SettingsCommand("generalSettings", "このアプリについて", handler); eventArgs.Request.ApplicationCommands.Add(generalCommand); } void onSettingsCommand(IUICommand command) { // 「このアプリについて」をクリックした際にAboutPage.xamlに移動します this.Frame.Navigate(typeof(AboutPage)); }
上記コードの場合AboutPage.xamlで色々な処理を書くことになるでしょう。
Please give us your valuable comment