single.php

C# WinUI 3アプリでタイトルバーのアイコンをカスタマイズする方法

WinUI 3アプリでウィンドウのタイトルにアイコンを表示する場合の手順を備忘録的に投稿しておきます。

アイコンの表示・非表示

Microsoft Learnの[タイトル バーのカスタマイズ]に、WinUI3プロジェクトのウィンドウタイトルは、[Microsoft.UI.Windowing.AppWindow.GetFromWindowId]で取得できる、変数を使ってカスタマイズできます。

例えば、こんな感じでウィンドウ(m_AppWindow)を取得します。

IntPtr hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
Microsoft.UI.WindowId windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(hWnd);
m_AppWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);

こんな感じで、[IconShowOptions]プロパティに[HideIconAndSystemMenu]を入力するとタイトルバーのアイコンが非表示になります。

m_AppWindow.TitleBar.IconShowOptions = IconShowOptions.HideIconAndSystemMenu;

[ShowIconAndSystemMenu]を入力するとアイコンが表示されます。(これは既定値)

m_AppWindow.TitleBar.IconShowOptions = IconShowOptions.ShowIconAndSystemMenu;

[SetIcon]メソッドで表示したアイコンを変更できます。

m_AppWindow.SetIcon("C:\\Images\\icon\\sample.ico");

まとめ

今回は短い記事ですが、WinUI 3アプリでウィンドウタイトルのアイコンをカスタマイズする場合の手順を書きました。

C#のWinUI 3アプリのウィンドウタイトルをカスタマイズしたい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です