MenuItem обычно вызывает Команду, а не прослушивает события щелчка.
Учитывая, что это список недавно использованных файлов, я предполагаю, что команда будет "Открыть файл" или что-то подобное, и чтоэта команда уже существует.
Если пользователь выбирает недавно использованный файл, вы захотите вызвать эту же команду, но дополнительно укажите имя файла в качестве параметра команды.
Итак:
void OnNewFilenameAdded(string filename)
{
var item = new MenuItem();
item.Command = _OpenFileCommand;
item.Header = filename;
item.CommandParameter = filename;
MenuItem_OpenRecent.Items.Insert(0, item);
if (MenuItem_OpenRecent.Items.Count == 6)
MenuItem_OpenRecent.Items.RemoveAt(5);
}
Если вы действительно хотите сохранить отдельную коллекцию имен файлов, например, если вы собираетесь реализовать это с MVVM, взгляните на класс Queue<>
.