C# 继承WPF中自定义GroupBox标题的Mahapps样式

C# 继承WPF中自定义GroupBox标题的Mahapps样式,c#,wpf,mahapps.metro,C#,Wpf,Mahapps.metro,我需要为我的GroupBox元素自定义标题。现在的问题是,当我在应用程序中切换样式时,标题中的复选框的标签对象不会根据新的主题样式更改前景 如何从当前主题继承样式 我尝试从StaticResource LabelTextBrush继承样式,但是标签始终保持黑色。也许是错误的来源 <GroupBox x:Name="gpDetailView" Grid.Column="1" Margin="5" Grid.Row="3" Grid.ColumnSpan="2"> <Gro

我需要为我的
GroupBox
元素自定义标题。现在的问题是,当我在应用程序中切换样式时,标题中的
复选框
的标签对象不会根据新的主题样式更改前景

如何从当前主题继承样式

我尝试从StaticResource LabelTextBrush继承样式,但是标签始终保持黑色。也许是错误的来源

<GroupBox x:Name="gpDetailView" Grid.Column="1" Margin="5" Grid.Row="3" Grid.ColumnSpan="2">
    <GroupBox.Header>
        <DockPanel>
            <CheckBox x:Name="ckbState" Content="Ersatzteil aktiv" Foreground="{DynamicResource LabelTextBrush}">
                <CheckBox.Resources>
                    <Style TargetType="{x:Type CheckBox}" BasedOn="{StaticResource {x:Type CheckBox}}">
                        <Setter Property="Foreground" Value="{DynamicResource LabelTextBrush}"/>
                    </Style>
                </CheckBox.Resources>
            </CheckBox>
        </DockPanel>
    </GroupBox.Header>
    <Grid>


    </Grid>
</GroupBox>


感谢您的帮助!谢谢

您可以尝试使用
IdealForegroundColorBrush
或依靠
BackgroundToForegroundConverter
获得“理想”的前景笔刷:

<CheckBox x:Name="ckbState" Content="Ersatzteil aktiv"
          xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
          xmlns:Converters="clr-namespace:MahApps.Metro.Converters;assembly=MahApps.Metro">
    <CheckBox.Foreground>
        <MultiBinding Converter="{x:Static Converters:BackgroundToForegroundConverter.Instance}">
            <Binding Mode="OneWay" Path="Background" RelativeSource="{RelativeSource AncestorType=GroupBox}" />
            <Binding Mode="OneWay" Path="(Controls:GroupBoxHelper.HeaderForeground)" RelativeSource="{RelativeSource AncestorType=GroupBox}" />
        </MultiBinding>
    </CheckBox.Foreground>
</CheckBox>


LabelTextBrush总是黑色的,不是吗?你想要或期望什么颜色?我使用的是Mahapps默认的“红色”样式。所以颜色应该变成白色。当我切换到“黄色”时,颜色应该变为黑色。默认情况下就是这样。我已经认为资源“LabelTextBrush”对此并不准确,但是我还没有找到正确的资源。谢谢@mm8,这个例子帮了我的忙:)谢谢!