我正在尝试以编程方式将菜单添加到我的 MonoMac 应用程序。我打开了 MainMenu.xib 并NSMenuItem
从 MainMenu 控件中删除了所有内容。
我将以下代码添加到我的FinishedLaunching
覆盖中:
var fileMenuItem = new NSMenuItem("File");
var fileMenu = new NSMenu();
var fileNew = new NSMenuItem("New");
var fileOpen = new NSMenuItem("Open");
var fileSave = new NSMenuItem("Save");
fileMenu.AddItem(fileNew);
fileMenu.AddItem(fileOpen);
fileMenu.AddItem(fileSave);
fileMenuItem.Menu = fileMenu;
NSApplication.SharedApplication.MainMenu.AddItem(fileMenuItem);
但它什么也没做。
当我将代码添加到时MainWindowController.Initialize()
,我得到一个断言失败“要插入菜单的项目已经在另一个菜单中”
我正在移植在这个 SO 答案中找到的代码:Creating NSMenu with NSMenuItems in it, programmatically?