.net 如何设置触发器中的TabItem ContentPresenter的样式?

.net 如何设置触发器中的TabItem ContentPresenter的样式?,.net,wpf,xaml,contentpresenter,.net,Wpf,Xaml,Contentpresenter,我正在重新设置TabItem的样式,并希望TabItem标题的背景、前景和文本颜色根据选择与否而有所不同。我可以在ControlTemplate.Triggers外部成功更改ContentPresenter的TextBlock,但我不确定如何从触发器内部“访问”它 这是我的XAML: <Style x:Key="SiteTabItemStyle" d:IsControlPart="True" TargetType="{x:Type TabItem}"> <Setter

我正在重新设置TabItem的样式,并希望TabItem标题的背景、前景和文本颜色根据选择与否而有所不同。我可以在ControlTemplate.Triggers外部成功更改ContentPresenter的TextBlock,但我不确定如何从触发器内部“访问”它

这是我的XAML:

<Style x:Key="SiteTabItemStyle" d:IsControlPart="True" TargetType="{x:Type TabItem}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabItem}">
                <Grid>
                    <Border Margin="0,0,-4,0" x:Name="Border" BorderThickness="2" CornerRadius="15,15,0,0" BorderBrush="Black" Background="DimGray">
                        <ContentPresenter TextBlock.Foreground="LightGray" HorizontalAlignment="Center" Margin="12,2,12,2" x:Name="ContentSite" VerticalAlignment="Center" RecognizesAccessKey="True" ContentSource="Header"/>
                    </Border>
                </Grid>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Panel.ZIndex" Value="100"/>
                        <Setter Property="Background" Value="Gold" TargetName="Border"/>
                        <Setter Property="BorderThickness" Value="2" TargetName="Border"/>
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Background" Value="{DynamicResource DisabledBackgroundBrush}" TargetName="Border"/>
                        <Setter Property="BorderBrush" Value="{DynamicResource DisabledBorderBrush}" TargetName="Border"/>
                        <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}"/>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


在第二个触发器集属性中,是选中的,而不是是启用的,它将正常工作。我希望这会有帮助。

我不明白你的问题。您想更改哪个元素的哪个属性?可以简化问题:在“IsSelected”触发器中,我希望标题(即ContentPresenter)的文本为黑色而不是浅灰色。