我是 .net MAUI 平台上的桌面开发新手,我在自定义应用程序栏时遇到了一个奇怪的问题。我想更改应用栏颜色并添加内容,但我不知道如何操作。
https://learn.microsoft.com/en-us/windows/apps/develop/title-bar?tabs=wasdk#platform-options
根据自定义标题栏的程度,您可以对标题栏应用两个级别的自定义:对默认标题栏进行细微修改,或将应用程序画布扩展到标题栏区域并提供完全自定义内容。
要更改应用程序标题栏的颜色,您可以尝试以下代码:
#if WINDOWS
var uiSettings = new Windows.UI.ViewManagement.UISettings();
var color = uiSettings.GetColorValue(UIColorType.Accent);
Microsoft.UI.Xaml.Window window = (Microsoft.UI.Xaml.Window)App.Current.Windows.First<Window>().Handler.PlatformView;
//get the current window on the windows platform
IntPtr windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(window);
Microsoft.UI.WindowId windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(windowHandle);
Microsoft.UI.Windowing.AppWindow appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);
Microsoft.UI.Windowing.AppWindowTitleBar titlebar = appWindow.TitleBar;
//titlebar.ExtendsContentIntoTitleBar = true;
//You may need to uncomment the line above
titlebar.BackgroundColor = color;
#endif
要向标题栏添加内容,可以尝试修改Windows项目下的App.xaml。有关更多详细信息,您可以参考 Fix AppTitleBarHeight 以匹配标题按钮高度 #5811
我不知道这是否是您所需要的,但如果您在 AppShell.xaml 中声明了菜单项,您可以在那里更改背景。只需在 structor 中执行即可:
<AppShell
[...]
Background="blue">
[...]
<AppShell>
如果这不是您的意思,请指定您的帖子并添加您的代码。