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

时间:2019-01-01 22:06:53

标签: wpf xaml

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

标题栏颜色不应该使用Windows主题设置吗?为什么不呢?

我启动了一个全新的.NET Framework 4.6.2 WPF应用程序。我绝对没有改变。我运行该应用程序,然后得到了描述的行为。

这是主窗口的默认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>

1 个答案:

答案 0 :(得分:0)

我没有意识到这一点,但是应用程序将使用默认的白色标题栏,除非您在Windows主题设置中专门选中了将主题强调应用于标题栏。

首先让我感到困惑的原因是XAML设计器窗口在设计视图中将窗口标题栏显示为深灰色。运行时变为白色。我错误地认为深灰色标题栏尊重了Dark Windows Theme。不是!它实际上是在尊重Dark Visual Studio主题。

很明显,Visual Studio中选择的主题确定XAML设计器中的标题栏颜色,从而使应用程序运行时看起来不真实。

我从发布问题开始就觉得很愚蠢,但我只是认为我不知道某种XAML配置点。 :P