最近的文件列表

时间:2012-03-23 15:21:04

标签: c# wpf recent-file-list

this链接中,有一个“打开最近的文件”的代码,似乎每个人都知道除了我之外去过哪里。添加代码只有几行,我在下面不明白。这是什么FileOpenCore ??我该怎么替换呢?

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

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

1 个答案:

答案 0 :(得分:3)

我相信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.
    }
}