Список последних файлов

В этой ссылке есть код для "открытия последних файлов", и кажется, что все понимают, что происходит, кроме меня. Есть только несколько строк, чтобы добавить код, и я не понимаю ниже. Вот что FileOpenCore?? Что я должен заменить для этого?

RecentFileList.MenuClick += ( s, e ) => FileOpenCore( e.Filepath );

partial class RecentFileList
{
   public void InsertFile( string filepath )
   public void RemoveFile( string filepath )
}

1 ответ

Решение

Я полагаю, FileOpenCore - это имя, которое автор дал методу, который фактически открывает ваши файлы. Замените его любым имеющимся у вас методом, который берет имя файла и открывает его.

Метод InsertFile должен вызываться (возможно, в вашем FileOpenCore) всякий раз, когда файл успешно открывается. RemoveFile следует вызывать, если вы пытались открыть файл, но он не удался. Например, вы не хотите сохранять файлы, которых больше нет в вашем списке последних файлов.

Итак, если вы определили свой RecentFileList как сделал автор:

<common:RecentFileList x:Name="RecentFileList" />

И вы подключаете обработчик кликов, как он это сделал в конструкторе вашего окна:

RecentFileList.MenuClick += ( s, e ) => FileOpenCore( e.Filepath );

Ваш FileOpenCore (или как вы хотите это называть) может выглядеть примерно так (псевдокод):

private void FileOpenCore(string filename)
{
    try
    {
        // read your file
        // and do whatever processing you need
        // ...
        // if open was successful
        RecentFileList.InsertFile(filename);
    }
    catch (Exception e)
    {
        // opening the file failed - maybe it doesn't exist anymore 
        // or maybe it's corrupted
        RecentFileList.RemoveFile(filename);
        // Do whatever other error processing you want to do.
    }
}
Другие вопросы по тегам