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)