JumpList.GetJumpList不包含最近的项目

时间:2015-07-31 14:30:43

标签: c# wpf jump-list recent-file-list

因此,我的WPF应用程序在App.xaml

中定义了一个跳转列表
<JumpList.JumpList>
    <JumpList ShowRecentCategory="True"/>
</JumpList.JumpList>

此列表为空,除非Windows识别与我的应用程序关联的某些文件。我设法通过Inno Setup关联我的自定义文件扩展名,跳转列表很好地显示在win7开始菜单+任务栏中。单击这样的“最近的文件”会使用附加的命令行参数(文件名)调用我的应用程序,我可以在应用程序启动时直接打开该文件。

目标:在应用程序内显示最近的文件(不仅仅是在win7任务栏上)。 想想文件菜单(例如Visual Studio:文件&gt;最近的文件&gt; ...)或类似于显示最近要跳入的项目的起始页。

问题:JumpList只包含自定义任务,而不是最近的文件。可以通过

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

是JumpTask / JumpPath实例的列表。我在这里找到自定义创建的任务(例如,如果我在App.xaml中定义一个),而不是在Windows中显示的最近文件(开始菜单/任务栏)。所以在我的情况下,windows显示了10个最新文件,但在应用程序中我找不到显示它们的方法。

如果我从App.xaml省略了JumpList定义,则上面的调用将返回null而不是JumpList(想想,我已经覆盖了win7 JumpList,但没有。)

1 个答案:

答案 0 :(得分:0)

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

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