3

MonoMac/Xamarin.Mac で、ドック アイコンを持たず、起動時にウィンドウが表示されず、右上のメニュー バーにアイコンのみが表示されるアプリケーションを作成しようとしています。

Info.plist で LSUIElement = 1 (文字列型とブール型の両方を試しました) に設定しましたが、アプリケーションの起動時にステータス メニュー アイコンがまったく表示されません。表示させる唯一の方法は、LSUIElement フラグを削除することですが、ドック アイコンが表示されます。

私が使用しているスニペットは次のとおりです。

public partial class AppDelegate : NSApplicationDelegate
{
    public AppDelegate ()
    {
    }

    public override void FinishedLaunching (NSObject notification)
    {
        // Construct menu that will be displayed when tray icon is clicked
        var notifyMenu = new NSMenu();
        var exitMenuItem = new NSMenuItem("Quit", 
                                          (a,b) => { System.Environment.Exit(0); }); // Just add 'Quit' command
        notifyMenu.AddItem(exitMenuItem);

        // Display tray icon in upper-right-hand corner of the screen
        var sItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30);
        sItem.Menu = notifyMenu;
        sItem.Image = NSImage.FromStream(System.IO.File.OpenRead(
            NSBundle.MainBundle.ResourcePath + @"/menu_connected.png"));
        sItem.HighlightMode = true;

        // Remove the system tray icon from upper-right hand corner of the screen
        // (works without adjusting the LSUIElement setting in Info.plist)
        NSApplication.SharedApplication.ActivationPolicy = NSApplicationActivationPolicy.Accessory;
    }
}

MonoMac で Dock アイコンがなく、メニュー バー アイコンのみのウィンドウレス アプリケーションを作成する良い方法を知っている人はいますか?

ありがとう、

BB

4

1 に答える 1