【问题标题】:TabItem style affecting GroupBox styleTabItem 样式影响 GroupBox 样式
【发布时间】:2016-01-24 06:54:05
【问题描述】:

我有一个 TabItem 样式,当它被选中时,它会更改 TabItem 的字体颜色。问题是这也会改变 TabItem.Content 中包含的 GroupBox 标题的字体颜色,而我不能这样做。代码如下:

风格

<Style x:Key="TabItem" TargetType="TabItem">
    <Setter Property="Padding" Value="10,7,2,7" />
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="Foreground"  Value="#333"></Setter>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabItem}">
                <Border Padding="{TemplateBinding Padding}"  Name="tab" BorderThickness="0" BorderBrush="Transparent" SnapsToDevicePixels="True">
                    <ContentPresenter Name="content" ContentSource="Header" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter TargetName="tab" Property="Background" Value="#007ACC"/>
                        <Setter TargetName="tab" Property="BorderBrush" Value="#007ACC" />
                        <Setter TargetName="tab" Property="Cursor" Value="Arrow" />
                    </Trigger>
                    <Trigger Property="IsSelected" Value="False">
                        <Setter TargetName="tab" Property="Background" Value="#F0F0F0" />
                        <Setter TargetName="tab" Property="BorderBrush" Value="#F0F0F0" />
                        <Setter TargetName="tab" Property="Cursor" Value="Hand" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Foreground" Value="White"></Setter>
        </Trigger>
    </Style.Triggers>
</Style>

控件

<TabControl x:Name="tabControl1" Background="#FFF" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="-10,10,0,0" ScrollViewer.VerticalScrollBarVisibility="Visible" TabStripPlacement="Left">
    <TabItem Header="General" Style="{StaticResource TabItem}">
        <GroupBox Header="The text that shouldn't be (but is) turning white">
        </GroupBox>
    </TabItem>
</TabControl>

GroupBox 是基于 TabItem 还是包含一个?

【问题讨论】:

  • 你解决过这个问题吗?

标签: c# wpf xaml tabcontrol tabitem


【解决方案1】:

它是关于逻辑树和可视树的属性继承。 这将解释further

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 2015-09-07
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多