TabItem样式不显示页眉信息



在Blend中制作了一个外观不错的选项卡,但我的ContentPresenter必须关闭-它不显示TabItem标题文本。

编辑1:实现了CodeNaked的建议和Rachel的回答,所以如果你喜欢的话,你可以直接使用这种风格。

<Style x:Key="TabItemStyle2" TargetType="{x:Type TabItem}">
    <Setter Property="Template">
        <Setter.Value>
        <ControlTemplate TargetType="{x:Type TabItem}">
                <Grid>
            <Border BorderThickness="3" CornerRadius="5,5,0,0">
                    <Border.BorderBrush>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#7F605F5F" Offset="0"/>
                    <GradientStop Color="#7F7E7E7E" Offset="1"/>
                </LinearGradientBrush>
                </Border.BorderBrush>
                <Border.Background>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF6096E5" Offset="0.004"/>
                            <GradientStop Color="#FF6096E5" Offset="0.823"/>
                    <GradientStop Color="White" Offset="0.228"/>
                    </LinearGradientBrush>
                </Border.Background>
                </Border>
            <Border x:Name="BorderGlass" BorderThickness="3" CornerRadius="5,5,0,0" Background="#7FFDFDFD">
                <Border.BorderBrush>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#7FFFFFFF" Offset="0"/>
                    <GradientStop Color="#BFFFFFFF" Offset="0.401"/>
                    <GradientStop Color="#F2FFFFFF" Offset="0.254"/>
                </LinearGradientBrush>
                </Border.BorderBrush>
            </Border>
            <ContentPresenter HorizontalAlignment="Center" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center" ContentPresenter ContentSource="Header">
                <ContentPresenter.OpacityMask>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF6096E5" Offset="0"/>
                    <GradientStop Color="#FF6096E5" Offset="0.823"/>
                    <GradientStop Color="White" Offset="0.228"/>
                </LinearGradientBrush>
                </ContentPresenter.OpacityMask>
                </ContentPresenter>
            </Grid>
        </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

尝试将ContentSource="Header"添加到您的ContentPresenter

<ContentPresenter ContentSource="Header" ... >

您的第一个样式实际上并不有效。您不应该在正在设置样式的控件中定义控件。在第一个样式中,在TabItem的控制模板中包含一个TabItem。这是你不应该做的。

Rachel的回答解决了你的第二种风格的问题。

相关内容

  • 没有找到相关文章

最新更新