Как создать Новейшую Историю Документов в C# в Приложении WPF

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

10
задан Gagan 8 March 2010 в 07:34
поделиться

3 ответа

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

Вам придется создавать подменю для "последних документов" динамически, сохраняя ссылку на MenuItem "последних документов", затем добавляя и удаляя MenuItemы из его Items коллекции. Обсуждение этого вопроса можно найти здесь: Add new menuitem to menu at runtime.

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

Вы также можете создать джамплисты в панели задач win7, используя Windows API Code Pack for .Net.

2
ответ дан 3 December 2019 в 20:41
поделиться

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>
8
ответ дан 3 December 2019 в 20:41
поделиться

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

-> для включения функциональности джамплиста и меню недавних файлов в меню пуск я использовал процедуру оболочки windows API следующим образом:

[DllImport("shell32.dll")] //процедура оболочки для включения джамплиста и recenfiles public static extern void SHAddToRecentDocs( UInt32 uFlags, [MarshalAs(UnmanagedType.LPWStr)] String pv);

и вызываем его следующим образом: SHAddToRecentDocs(0x00000003, mFilePath);

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

1
ответ дан 3 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: