为什么 CheckBox 内容颜色没有改变?

Why is the CheckBox Content color not changing?

我正在为我的 WPF 应用程序使用 MahApps.Metro。如下图所示,如果我尝试将 CheckBoxForground 颜色更改为白色,则其颜色仍为默认值(黑色)。

问题:如何将内容颜色改为白色?

None 以下 XAML 更改内容的前景颜色。它保持默认(黑色):

<CheckBox x:Name="chkTest" Content="Test Content" FontSize="20" Foreground="{StaticResource MahApps.Brushes.Badged.Foreground}" />

:

<CheckBox x:Name="chkTest" Content="Set Default" FontSize="20" Foreground="White" />

- 正如所讨论的 here:

<CheckBox x:Name="chkTest" Content="Test Content" FontSize="20" Foreground="{StaticResource MahApps.Brushes.CheckBox.ForegroundChecked}" />

以上XAMLs的显示:

MahApps.MetroCheckBox样式有多种状态和触发器,使用不同的笔刷。覆盖 Forground 属性 并未涵盖所有状态。

但是,有一个具有许多附加属性的专用类型 CheckBoxHelper,您可以使用它们为内容以及复选标记字形自定义每个状态下的每个画笔。查找以 Foreground...CheckGlyphForeground... 开头的属性。还有复选标记和内容背景的附加属性。

<CheckBox x:Name="chkTest" Content="Set Default" FontSize="20"
          mah:CheckBoxHelper.ForegroundUnchecked="Blue"
          mah:CheckBoxHelper.ForegroundUncheckedMouseOver="Green"
          mah:CheckBoxHelper.CheckGlyphForegroundChecked="Red"
          mah:CheckBoxHelper.CheckGlyphForegroundCheckedMouseOver="Purple"/>