私は、IBの使用量が最小限のMacアプリケーションを作成しています - programatically create initial window of cocoa app (OS X)を参照してください。プログラムによって作成されたNSMenuは、最初のアイテムのみを表示しています
public override void DidFinishLaunching(NSNotification notification) {
// create and show a window, then . . .
NSMenu fileMenu = new NSMenu();
NSMenu appMenu = new NSMenu();
// add some items to both menus, then . . .
NSMenuItem file = new NSMenuItem("file");
file.Submenu = fileMenu;
NSMenuItem app = new NSMenuItem("app");
app.Submenu = appMenu;
NSMenu topLevelMenu = new NSMenu();
topLevelMenu.AddItem(app); // these two lines in
topLevelMenu.AddItem(file); // either order
NSApplication.SharedApplication.Menu = topLevelMenu; // incidentally, setting the MainMenu doesn't appear to do anything
}
}
奇妙なことは、私は追加だけで最初のメニュー項目が表示されることであり、そのタイトルは私のアプリの名前に変更されます。
はここ(Xamarin/C#を経由で)私のコードです。したがって、上記のコードでは、MyAppNameというタイトルのアプリケーションメニューが表示されますが、正しい項目は表示されます。代わりにNSMenuItemファイルを最初に追加すると、その名前が再び自分のアプリ名に変更されたメニューが表示され、表示メニューが表示されなくなります。
変更されたタイトルは気にしません。私はAppleが常にアクティブなアプリの名前を表示したいと思う。しかし、それは私が表示される追加のメニューを取得することはできません私にはバグ。
すべてのメニューを画面上部に表示するにはどうすればよいですか?
'fileMenu'と' appMenu'にはタイトルがありません。 – Willeke