“跳转列表.GetJumpList不包含最近的项目

本文关键字:包含 最近 项目 GetJumpList 列表 跳转列表 | 更新日期: 2023-09-27 18:05:57

那么,我的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个文件,但在应用程序中我找不到显示它们的方法。

如果我从App.xaml提交JumpList定义,上述调用将返回null而不是JumpList(认为,我已经覆盖了win7 JumpList,但没有)。

“跳转列表.GetJumpList不包含最近的项目

您需要手动将最近的条目添加到跳转列表

var jumpTask = new JumpTask
{
    Title = fileName,
    Arguments = fullPath
};
JumpList.AddToRecentCategory(jumpTask)