I had to do
some research and I'm kind of confused about what specifies the accelerator key. I had always seen it specified using the '&' before the desired character, like in this
MSDN example. But there are StackOverflow questions and answers that confirm your problem with the '_' in (some?) Windows Controls. The way to escape that is to use a double underscore, "__", instead. I can't actually reproduce this behavior in LevelEditor, so I wonder if there is some other way to turn off accelerator keys. (I'm also using Windows 8, in case that matters.)
I looked through ATF's RecentDocumentCommands to see what issues we may have run into like you did, with using file paths as menu items. The only problem we apparently ran into was with forward and back slashes creating unwanted child menus. Here's the key section:
string pathName = info.Uri.LocalPath;
// replace slashes, so command service doesn't create hierarchical menu; actual path
// is set in our UpdateCommand method.
pathName = pathName.Replace("/", "-");
pathName = pathName.Replace("\\", "-");
var commandInfo = new CommandInfo(
info,
StandardMenu.File,
StandardCommandGroup.FileRecentlyUsed,
"Recent Files".Localize() + "/" + pathName,
"Open a recently used file".Localize(),
Keys.None);
commandInfo.ImageName = info.Pinned ? Resources.PinGreenImage : Resources.PinGreyImage;
commandInfo.ShortcutsEditable = false;
CommandService.RegisterCommand(
commandInfo,
this);
Please let us fellow ATF-users know how you fix this. I'm curious!