「Xamarin.MacでDockアイコンを非表示にする」の版間の差分

ページの作成:「'''Mac OS X'''のシステムステータスバーWindowsでいうタスクトレイ)にアイコンを表示する、いわゆる常駐アプリ...」
 
9行目: 9行目:
#* 型に「Boolean」
#* 型に「Boolean」
#* 値に「Yes」
#* 値に「Yes」
==実装2: 動的に制御する==
info.plistでドックアイコンを非表示にする方法では常に非表示になってしまい使いにくい場面も多い。
[[ソースコード]]で動的に制御できると捗る。
この例ではAppDelegateのDidFinishLaunchingメソッドでドックアイコンを消しているがこれに限らず、たとえばNSApplicationのインスタンスを生成しているMainメソッドでいきなり叩いても動くようだ。
<source lang="csharp">
    public partial class AppDelegate : NSApplicationDelegate
    {
        // 〜〜〜中略〜〜〜
        public override void DidFinishLaunching(NSNotification notification)
        {
            // NSApplicationのActivationPolicyプロパティに
            // AccessoryまたはProhibitedを設定するとドックアイコンが非表示になり、
            // Regularを設定するとドックアイコンが表示になる。
            var app = NSApplication.SharedApplication;
            app.ActivationPolicy = NSApplicationActivationPolicy.Accessory;
        }
    }
</source>


==その他==
==その他==
<del>
[[Xamarin.Mac]]ではHIServices.frameworkが使えないので[[ソースコード]]レベルで動的に制御することはできない<ref>https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemFrameworks/SystemFrameworks.html</ref>。
[[Xamarin.Mac]]ではHIServices.frameworkが使えないので[[ソースコード]]レベルで動的に制御することはできない<ref>https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemFrameworks/SystemFrameworks.html</ref>。
</del>


==関連項目==
==関連項目==