Estoy tratando de agregar un menú programáticamente a mi aplicación MonoMac. Abrí MainMenu.xib y eliminé todos NSMenuItem
del control MainMenu.Crear NSMenuItems programáticamente en MonoMac
estoy añadiendo el siguiente código en mi anulación 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);
Pero no está haciendo nada.
Al agregar el código para MainWindowController.Initialize()
, me sale un error de aserción "elemento a ser insertado en el menú ya está en otro menú"
me portar el código que se encuentra en este SO responder: Creating NSMenu with NSMenuItems in it, programmatically?
Esto funciona, aunque también debe establecer el título de fileMenu.title = "Someting" si no es el primer elemento (que siempre tiene el nombre de la aplicación) – PetrV