はじめに
前回からだいぶ間が空いてしまいましたが,
今回は,
また,
設定ウィンドウと設定ポップアップ
Windowsストア アプリでは,
設定ウィンドウ
図1はSkyDriveの設定ウィンドウです。
ウィンドウ上部にアプリの設定項目が表示されています。Windowsストアからインストールしたアプリは,
ユーザーが設定ウィンドウを開いた時,
設定ウィンドウ下部は,
設定ポップアップ
設定ウィンドウに表示されるアプリの設定項目は,
SkyDriveの
設定ウィンドウや設定ポップアップに,
設定ウィンドウが重要な理由
冒頭で触れた設定ウィンドウがアプリ認定に重要な理由ですが,
このため,
ちなみに,
- ※1
Webにアクセスするアプリは必須です。アクセスしないアプリでも認定を通過するためには用意したほうが無難です。個人で作成したアプリでも必要ですが,
内容は簡素なものでもOKですのでそれほど難しい作業ではありません。いろいろなアプリを参考にしてみるとよいでしょう。
設定ウィンドウにアプリ設定項目の追加
それでは実際にコーディングしていきましょう。
プロジェクトの作成
Visual Studioでプロジェクトを作成します。今回も前回と同じく,
アプリの設定項目の追加
さっそく,
設定ウィンドウのオブジェクト
// using Windows.UI.ApplicationSettings; の追加が必要です
bool EventRegistered;
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
if (!this.EventRegistered)
{
SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;
this.EventRegistered = true;
}
// (省略)
}
OnCommandsRequestedの内容は次のようになります。ここで実際に項目を設定ウィンドウに追加しています。項目となるSettingsCommandオブジェクトを生成してApplicationCommands配列に追加します。
ここでSettingsCommandオブジェクト生成時に指定している値は,
// using Windows.UI.Popups; の追加が必要です
void OnCommandsRequested(SettingsPane settingsPane, SettingsPaneCommandsRequestedEventArgs eventArgs)
{
var handler = new UICommandInvokedHandler(OnSettingsCommand);
var policyCommand = new SettingsCommand("policy", "プライバシーポリシー", handler);
eventArgs.Request.ApplicationCommands.Add(policyCommand);
}
続いて,
ここではWebページを表示するようにしています。
void OnSettingsCommand(IUICommand command)
{
var settingsCommand = (SettingsCommand)command;
switch (settingsCommand.Id.ToString())
{
case "policy":
ShowPrivacyPolicy();
break;
}
}
// プライバシーポリシーの表示
// using Windows.System; の追加が必要です
async void ShowPrivacyPolicy()
{
Uri uri = new Uri("http://example.jp/privacypolicy");
await Launcher.LaunchUriAsync(uri);
}
ここまでを実行してみましょう。設定チャームから設定ウィンドウを開くと追加した項目が表示されたでしょうか
以上で,