wpf 如何在Windows 11 22H2中启用该选项时删除窗口标题栏中的强调色?

hmae6n7t  于 2022-11-18  发布在  Windows
关注(0)|答案(1)|浏览(191)

在Windows 11 22H2微软更改了如何选项
设置〉个性化〉颜色〉在标题栏和窗口边框中显示强调色
工作(与21H2相比)。现在它在所有窗口上都是强制的。有可能在自定义窗口上禁用它吗?
我期望CaptionHeight可以控制这一点,但没有什么区别。

<WindowChrome                    
    CaptionHeight="0" 
    GlassFrameThickness="-1"
    UseAeroCaptionButtons="True" />

TitleBar.Height不可更改。
还有其他建议吗?或者这是Windows 11中的一个bug,所以云母效果可以应用于包括标题栏在内的整个窗口?

xu3bshqb

xu3bshqb1#

您可以使用Windows App SDK中的AppWindow类来更改标题栏的颜色,例如:

Microsoft.Windows.ApplicationModel.DynamicDependency.Bootstrap.TryInitialize(0x00010000, out _);
var hWnd = new System.Windows.Interop.WindowInteropHelper(this).EnsureHandle();
var windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(hWnd);
var appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);
if (appWindow != null)
{
    appWindow.TitleBar.BackgroundColor = Microsoft.UI.Colors.Red;
}

相关问题