我想在我的MonoMac应用程序中以编程方式添加菜单。我打开了MainMenu.xib,并从MainMenu控件中删除了所有的NSMenuItem
。
我正在将以下代码添加到我的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()
中时,我收到了一个断言错误 "item to be inserted into menu already is in another menu"。
我正在移植此SO答案中的代码:Creating NSMenu with NSMenuItems in it, programmatically?