如何自定义 Maui 应用程序中的应用栏?

问题描述 投票:0回答:2

我是 .net MAUI 平台上的桌面开发新手,我在自定义应用程序栏时遇到了一个奇怪的问题。我想更改应用栏颜色并添加内容,但我不知道如何操作。

enter image description here

enter image description here

https://learn.microsoft.com/en-us/windows/apps/develop/title-bar?tabs=wasdk#platform-options

.net xaml desktop-application maui
2个回答
1
投票

根据自定义标题栏的程度,您可以对标题栏应用两个级别的自定义:对默认标题栏进行细微修改,或将应用程序画布扩展到标题栏区域并提供完全自定义内容。

要更改应用程序标题栏的颜色,您可以尝试以下代码:

#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


0
投票

我不知道这是否是您所需要的,但如果您在 AppShell.xaml 中声明了菜单项,您可以在那里更改背景。只需在 structor 中执行即可:

<AppShell 
[...]
Background="blue">
[...]
<AppShell>

如果这不是您的意思,请指定您的帖子并添加您的代码。

© www.soinside.com 2019 - 2024. All rights reserved.