我有这样的菜单:
// open context menu
var contextMenu = new ContextMenu();
var versionsMenu = new ToolStripDropDownMenu() {Text = "Version"};
StaticHelpers.GetPackageVersions(textBlockSelected.Text).ForEach(f=> versionsMenu.Items.Add(f));
var scheduleMenu = new ToolStripMenuItem {Text = "Schedule"};
var argumentsMenu = new ToolStripMenuItem() {Text = "Arguments"};
var removeMenu = new ToolStripMenuItem {Text = "Remove"};
//show context menu
contextMenu.Items.Add(versionsMenu);
contextMenu.Items.Add(scheduleMenu);
contextMenu.Items.Add(argumentsMenu);
contextMenu.Items.Add(removeMenu);
//add handlers
// executeMenu.Click += (o, args) => { ExecutePackage(sender); };
//open context menu
contextMenu.IsOpen = true;
我尝试过MenuItems而不是ToolStripMenuItem或ToolStripDropDownMenu,但在任何地方都找不到任何关于如何嵌套这些东西的文档或示例,例如,当用户右键单击我的一个控件时,我想显示此菜单:
- 版本
- 时间表
- 自变量
- 删除
如果用户悬停在版本上,我希望另一个上下文菜单扩展并显示以下内容:
- V1.0
- V1.1
- V1.2
如何实现此功能?
要添加子菜单,您需要获取一个现有项目并对其执行相同操作:
var versionsMenu = new ToolStripMenuItem();
versionsMenu.DropDownItems.Add(nestedItem);