JumpList.GetJumpList не содержит последних элементов

Итак, мое приложение WPF имеет список переходов, определенный в App.xaml

<JumpList.JumpList>
    <JumpList ShowRecentCategory="True"/>
</JumpList.JumpList>

Этот список пуст, если Windows не распознает определенные файлы, связанные с моим приложением. Мне удалось связать свое собственное расширение файла с помощью Inno Setup, и список переходов хорошо отображается в меню "Пуск" win7 + панель задач. Нажатие на такой "недавний файл" вызывает мое приложение с дополнительным аргументом командной строки (имя файла), и я могу открыть этот файл непосредственно при запуске приложения.

Цель: показать последние файлы внутри приложения (не только на панели задач win7). Подумайте о меню "Файл" (например, Visual Studio: "Файл"> "Последние файлы">...) или о чем-то похожем на стартовую страницу, на которой отображаются последние проекты, к которым можно перейти.

Проблема: JumpList содержит только пользовательские задачи, а не последние файлы. Можно перебирать JumpItems через

List<JumpItem> items = JumpList.GetJumpList(Application.Current).JumpItems

который представляет собой список экземпляров JumpTask / JumpPath. Я нахожу здесь специально созданные задачи (например, если я определю одну в App.xaml), но не последние файлы, которые отображаются в Windows (меню "Пуск" / панель задач). Так что в моем случае окна показывают 10 самых последних файлов, но в приложении я не могу найти способ их отобразить.

Если я опущу определение JumpList из App.xaml вышеупомянутый вызов вернет ноль вместо JumpList (хотя я перезаписал win7 JumpList, но нет).

1 ответ

Вам нужно вручную добавить последний элемент в список переходов

var jumpTask = new JumpTask
{
    Title = fileName,
    Arguments = fullPath
};
JumpList.AddToRecentCategory(jumpTask)
Другие вопросы по тегам