2011-06-17 56 views
0

在Blend中制作了一个漂亮的标签,但我的ContentPresenter必须关闭 - 它不显示TabItem标题文本。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> 
+0

你可以添加一些关于如何使用这种风格的代码吗? – MoonKnight

回答

2

尝试增加ContentSource="Header"您ContentPresenter

<ContentPresenter ContentSource="Header" ... > 
1

你的第一个样式是不是真的有效。您不应该在您正在设计的控件中定义控件。在您的第一个样式中,您在TabItem的控件模板中包含一个TabItem。你不应该这样做。

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