跳转列表是当用户右键单击任务栏或“开始”菜单中的应用图标时Windows显示的快捷菜单。 可以使用 任务 (快速应用范围操作(例如撰写新邮件或打开设置)以及 自定义项组 (如最近项目或固定的文档)填充跳转列表。
Important
JumpList API 需要包标识。 该功能可用于打包的(MSIX)应用和采用外部位置打包的应用,但在未打包应用中不可用。
先决条件
- 应用必须具有包标识:即 使用 MSIX 打包 或 打包到外部位置。 不支持解压缩的应用。
- 目标Windows 10版本 1607(周年更新,内部版本 14393)或更高版本。
加载当前跳转列表
在添加或删除项之前,请通过调用 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都会保留系统管理的分区(如最近和频繁),仅清除自定义任务和组。