Добавление элементов в список переходов Windows

Список переходов — это контекстное меню, которое Windows отображается, когда пользователь щелкает правой кнопкой мыши значок приложения на панели задач или в меню "Пуск". Список переходов можно заполнить задачами — быстрыми действиями на уровне приложения, такими как создание нового сообщения или открытие параметров, а также настраиваемыми группами элементов, таких как последние проекты или закрепленные документы.

Important

API JumpList требует удостоверения пакета. Это работает в упакованных приложениях (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 сохраняет разделы, управляемые системой (например, последние и частые) независимо от этого вызова; удаляются только пользовательские задачи и группы.