如何在WPF应用程序中使用C#创建最近的文档历史记录

Gag*_*gan 10 c# wpf recent-documents

我在C#中制作一个WPF应用程序,我需要显示最近的文档历史记录(就像它发生在word,excel甚至visual studio中),显示列表中打开的最后5或10个文档.我完全不知道应该怎么做.请帮忙.请善良温和......我是一名资深人士,现在很难消化高科技会谈!:)

Ser*_*hov 8

WPF4中的JumpList非常棒.这就是我需要做的一切:

<Application 
    x:Class="MyApp"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    <Application.Resources>
    </Application.Resources>
    <JumpList.JumpList>
        <JumpList ShowRecentCategory="True"/>
    </JumpList.JumpList>
</Application>
Run Code Online (Sandbox Code Playgroud)

  • 也许我错过了一些东西,但这只是创建一个跳转列表,并说要包含最近的类别(这是你无论如何都是免费获得的默认JumpList).这对于显示应用程序中的最近项目没有任何作用? (3认同)

Ben*_*gan 2

您可以只保留用户打开的文档的列表。当程序退出时存储列表并在程序启动时加载它。您可以在程序设置中存储一系列内容,或者可以将其写入文件(纯文本或 xml 都可以)。

您必须通过保留对“最近文档”的引用MenuItem,然后MenuItem在其集合中添加和删除 s 来动态创建“最近文档”的子菜单Items。这里有一个关于此的讨论:Add new menuitem to menu at running

Shoban 上面链接的库看起来像是一组为您执行此操作的类。但是,这是针对 winform 的。如果您使用的是 wpf,您可能必须编写自己的(尽管可能有预制的),但 winforms 将为您提供一个良好的起点。

然后,您还可以使用Windows API Code Pack for .Net在 win7 的任务栏中创建跳转列表。