4

所以,我的 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将返回 null 而不是 JumpList(我想,我已经覆盖了 win7 JumpList,但没有)。

4

1 回答 1

0

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

var jumpTask = new JumpTask
{
    Title = fileName,
    Arguments = fullPath
};
JumpList.AddToRecentCategory(jumpTask)
于 2016-07-19T14:40:32.867 回答