【问题标题】:MAUI why is my title bar gray and how do I fix it?MAUI 为什么我的标题栏是灰色的,我该如何解决?
【发布时间】:2022-11-26 12:03:54
【问题描述】:
我在Visual Studio 2022中做了MAUI示例工程,但是当我启动程序的时候,窗口的标题栏是灰色的,一种不会变色的灰色根本当窗口失去焦点时(尽管我添加的标题文本从黑色变为灰色)。我选中了两个框的“在以下表面上显示强调色”。
为什么我的 MAUI 窗口不使用我的强调色,我该如何解决?
笔记:我在 Windows 10 上,所以我不能使用只能在 Windows 11 上运行的东西。
【问题讨论】:
标签:
.net-core
windows-10
.net-6.0
maui
maui-windows
【解决方案1】:
tl;博士:您无法控制 Windows 10 上的标题栏颜色。至少不能通过 WinUI-3 API。
重要的:此答案描述了 WinUI-3 API 的情况。
我会把它留给其他人来弄清楚如何使用P/Invoke: Build a C# .NET app with WinUI 3 and Win32 interop,以获得可能在 Windows 10 上运行的 Win32 API。
甚至那样也未必可能。
我不清楚由 WinUI-3 在 Windows 10 上创建的窗口是否在物理上能够更改其标题颜色。
现有的 WinUI-3 API在 Windows 10 上不支持此功能。WinUI-3 是 Maui 在 Windows 上的目标。
Title bar customization 说:
标题栏自定义 API 目前仅在 Windows 11 上受支持。我们建议您在调用这些 API 之前检查代码中的 AppWindowTitleBar.IsCustomizationSupported,以确保您的应用程序不会在其他版本的 Windows 上崩溃。
Windows UI Library in the Windows App SDK (WinUI 3) 中显示了更多详细信息。
有一张表 Feature Window AppWindow 显示了 Windows 10 支持的功能。
在该表中,我们看到 Windows 10 支持 Window,但不支持 AppWindow。
它还表明 Window 允许(仅)设置 Title。需要AppWindow来改变颜色。