0

このリンクには、「最近のファイルを開く」ためのコードがあり私を除いて誰もがそこに何が起こっているかを理解しているようです. コードを追加するのは数行だけで、以下はわかりません。ここで何FileOpenCoreですか?? 何を交換すればいいですか?

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

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

1 に答える 1

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.
    }
}
于 2012-03-23T15:54:46.913 に答える