Список последних файлов
В этой ссылке есть код для "открытия последних файлов", и кажется, что все понимают, что происходит, кроме меня. Есть только несколько строк, чтобы добавить код, и я не понимаю ниже. Вот что 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.
}
}