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.
}
}
メニューにメニュー項目を追加しましたメニューのクリックイベントは機能しません – Shibli