Как создать историю последних документов в C# в приложении WPF

Я делаю приложение WPF в C#, где мне нужно показать историю последних документов (как это происходит в Word, Excel и даже Visual Studio), показывая список последних 5 или 10 открытых документов. Я понятия не имею, как мне это делать. Пожалуйста помоги. И, пожалуйста, будьте добры и нежны... Я любитель кодирования, и сейчас трудно переваривать разговоры о высоких технологиях!:)

6 ответов

JumpList в WPF4 потрясающий. Это было все, что мне нужно было сделать:

<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>

Это довольно хорошая прогулка и образец

http://www.codeproject.com/KB/WPF/RecentFileList.aspx

Хорошо, что у него есть и XML-файл, и хранилище реестра.

Моя идея решить эту проблему (как новичку) состояла в том, чтобы сохранить все пути к файлам в очереди с заданной максимальной емкостью и добавить их во время выполнения в menuItem...

Вы можете просто сохранить список документов, которые открывает пользователь. Сохраните список при выходе из программы и загрузите его при запуске. Вы могли бы, вероятно, сохранить список вещей в настройках программы или записать его в файл (обычный текст или xml работали бы нормально).

Вам нужно динамически создавать подменю для "последних документов", сохраняя ссылку на "последние документы" MenuItemзатем добавление и удаление MenuItemс его Items коллекция. Здесь обсуждается это: добавить новый пункт меню в меню во время выполнения.

Библиотека, которую Шобан связал выше, выглядит как набор классов, которые делают это для вас. Но это для winforms. Если вы используете wpf, вам, возможно, придется написать свой собственный файл (хотя, возможно, где-то есть и готовые), но выигрышная форма даст вам хорошее начальное место.

Затем вы также можете создавать списки переходов на панели задач win7 с помощью Windows API Code Pack для.Net.

Гаган, я недавно сделал последнее меню файлов в WPF C#, и вот что я сделал:

-> чтобы включить функциональность списка переходов и меню недавних файлов меню "Пуск", я использовал процедуру оболочки Windows API, например:

[DllImport ("shell32.dll")] // подпрограмма оболочки для включения списка переходов и повторного создания открытого статического внешнего void SHAddToRecentDocs( UInt32 uFlags, [MarshalAs(UnmanagedType.LPWStr)] String pv);

и вызвать его так: SHAddToRecentDocs (0x00000003, mFilePath);

-> Затем, чтобы отобразить меню недавних файлов, я использовал XML-файл, сохранил последние файлы в нем, проанализировал и отобразил недавний файл в меню.

Возможно, вас заинтересует пример приложения Writer для WPF Application Framework (WAF). В нем показано, как использовать и реализовывать недавний список файлов, который отображается в меню файлов и на начальной странице.

Другие вопросы по тегам