注意:以下两种样式暂时只支持TabStripPlacement=“Top”,也就是标签在上方的效果
第一种:
效果如图:
样式代码:
<Style x:Key="TabItemLineStyle"
TargetType="{x:Type TabItem}">
<Setter Property="Header"
Value="{Binding Name}" />
<Setter Property="FocusVisualStyle"
Value="{x:Null}" />
<Setter Property="Foreground"
Value="#818181" />
<Setter Property="FontSize"
Value="16" />
<Setter Property="Padding"
Value="5,3,5,3" />
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
<Setter Property="VerticalContentAlignment"
Value="Stretch" />
<Setter Property="SnapsToDevicePixels"
Value="True" />
<Setter Property="UseLayoutRounding"
Value="True" />
<Setter Property="Margin"
Value="0" />
<Setter Property="BorderThickness"
Value="0,0,0,2" />
<Setter Property="Background"
Value="#FFFFFF" />
<Setter Property="UseLayoutRounding"
Value="True" />
<Setter Property="BorderBrush"
Value="Transparent" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border x:Name="border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Margin="{TemplateBinding Margin}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
UseLayoutRounding="{TemplateBinding UseLayoutRounding}">
<ContentPresenter x:Name="contentPresenter"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{Binding HorizontalContentAlignment,
RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
VerticalAlignment="{Binding VerticalContentAlignment,
RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
ContentSource="Header"
Focusable="False"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ControlTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}"
Value="true" />
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"
Value="Top" />
</MultiDataTrigger.Conditions>
<Setter TargetName="border"
Property="Cursor"
Value="Hand" />
<Setter Property="BorderBrush"
Value="#007ACC" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}"
Value="true" />
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"
Value="Top" />
</MultiDataTrigger.Conditions>
<Setter Property="Panel.ZIndex"
Value="1" />
<Setter Property="BorderBrush"
Value="#007ACC" />
<Setter Property="Foreground"
Value="#007ACC" />
<Setter Property="Background"
Value="#FFFFFF" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding I