プログラムで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の答えにあるコードを移植していました:プログラムでNSMenuItemsを含むNSMenuを作成しますか?