为什么运行程序时WPF标题栏背景为白色?

为什么运行程序时WPF标题栏背景为白色?,wpf,xaml,Wpf,Xaml,Xaml设计器将窗口标题栏显示为深灰色(默认),但当我运行应用程序时,标题栏为纯白色 标题栏颜色不应该使用我的windows主题设置吗?为什么不是呢 我启动了一个全新的.NETFramework4.6.2WPF应用程序。我什么也没变。我运行应用程序,并得到描述的行为 以下是主窗口的默认XAML代码: <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pre

Xaml设计器将窗口标题栏显示为深灰色(默认),但当我运行应用程序时,标题栏为纯白色

标题栏颜色不应该使用我的windows主题设置吗?为什么不是呢

我启动了一个全新的.NETFramework4.6.2WPF应用程序。我什么也没变。我运行应用程序,并得到描述的行为

以下是主窗口的默认XAML代码:

<Window x:Class="WpfApp2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApp2"
    mc:Ignorable="d"
    Title="MainWindow" Height="450" Width="800">
<Grid>

</Grid>

下面是App.xaml:

<Application x:Class="WpfApp2.App"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:local="clr-namespace:WpfApp2"
         StartupUri="MainWindow.xaml">
<Application.Resources>

</Application.Resources>


我没有意识到这一点,但是应用程序将使用默认的白色标题栏,除非您在windows主题设置中特别选中将主题重音应用于标题栏

我起初对此感到困惑的原因是XAML设计器窗口在设计视图中将窗口标题栏显示为深灰色。它在运行时变为白色。我误以为深灰色的标题栏是在尊重深色窗户的主题。不是!它实际上尊重了黑暗的VisualStudio主题

显然,VisualStudio中选择的主题决定了XAML designer中标题栏的颜色,这给应用程序运行时的外观带来了错误


我一开始就发布了这个问题,觉得自己很愚蠢,但我只是觉得有某种XAML配置点我不知道P

在windows10中,它取决于Windows主题设置,不确定早期版本。Ugh。我的Windows10主题设置为深色,我的所有应用程序都显示深灰色标题栏。甚至XAML设计器也显示深灰色。但当我运行应用程序时,它是神秘的白色!这完全令人困惑!我在谷歌上找不到任何关于它的信息。你能添加你的XAML样本吗?我添加了代码并改进了帖子。@JamesHoux你可以通过调用COM-api blogs.msdn.COM/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx docs来实现