那么,我的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,但没有)。
您需要手动将最近的条目添加到跳转列表
var jumpTask = new JumpTask
{
Title = fileName,
Arguments = fullPath
};
JumpList.AddToRecentCategory(jumpTask)