Windowsジャンプ リストに項目を追加する

ジャンプ リストは、ユーザーがタスク バーまたはスタート メニューでアプリのアイコンを右クリックしたときに表示Windowsショートカット メニューです。 ジャンプ リストには タスク (新しいメッセージの作成や設定の開きなど、アプリ全体のクイック アクション) や、最近のプロジェクトやピン留めされたドキュメントなどの 項目のカスタム グループ を設定できます。

Important

JumpList API にはパッケージ ID が必要です。 パッケージ化された (MSIX) アプリと外部の場所でパッケージ化されたアプリで動作しますが、パッケージ化されていないアプリでは使用できません。

前提条件

現在のジャンプ リストを読み込む

項目を追加または削除する前に、 JumpList.LoadCurrentAsync を呼び出してアプリの現在のジャンプ リストを読み込みます。

using Windows.UI.StartScreen;

var jumpList = await JumpList.LoadCurrentAsync();

タスクの追加

タスクは、空の GroupName プロパティを持つ項目です。 Windows、ジャンプ リストの下部にある組み込みの [タスク] セクションに配置します。 コンテキストに関係なく常に関連する一般的なアクションには、タスクを使用します。

JumpListItem.CreateWithArguments を使用してタスクを作成し、Items コレクションに追加してから、JumpList.SaveAsync を呼び出して保存します。 ユーザーがタスクを選択すると、Windowsは指定した引数文字列を使用してアプリを起動します。これは起動時にアクティブ化引数から読み取ることができます。

var jumpList = await JumpList.LoadCurrentAsync();

var task = JumpListItem.CreateWithArguments("/compose", "New Message");
task.Description = "Compose a new message";
task.Logo = new Uri("ms-appx:///Assets/Tiles/AppList.targetsize-48.png");

jumpList.Items.Add(task);
await jumpList.SaveAsync();

カスタム グループに項目を追加する

カスタム グループを使用すると、関連する項目を名前付き見出しの下に整理できます。 GroupName プロパティを空以外の文字列に設定します。同じGroupNameを共有するすべての項目は、その見出しの下に一緒に表示されます。

var jumpList = await JumpList.LoadCurrentAsync();

var item = JumpListItem.CreateWithArguments("/project-alpha", "Project Alpha");
item.GroupName = "Projects";
item.Description = "Open Project Alpha";
item.Logo = new Uri("ms-appx:///Assets/Tiles/AppList.targetsize-48.png");

jumpList.Items.Add(item);
await jumpList.SaveAsync();

すべてのアイテムをクリアする

追加したすべての項目を削除するには、保存する前に Items コレクションをクリアします。

var jumpList = await JumpList.LoadCurrentAsync();
jumpList.Items.Clear();
await jumpList.SaveAsync();

Windowsは、この呼び出しに関係なく、システムで管理されるセクション (最近のセクションや頻繁なセクションなど) を保持します。カスタム タスクとグループのみがクリアされます。