我想实现的TabControl的风格TabItem的一起类似下面图片: 的TabControl和TabItem的与阴影效果效果WPF
风格应该使下面的事情可见:
- 列表项目
- TabControl的白色背景和具有Dropshadow效果的选定TabItem。
- 如果没有选择任何TabItem,那么TabItem文本颜色应变为灰色。
我所取得的成就至今:
- 能够分裂的TabControl的宽度以适应TabItem的项目使用TabSizeConverter转换器大小相等。
- 可以改变背景和TabControl和TabItems。但不能达到Dropshadow效果。
- 下面是我的风格的TabItem:
<Setter Property="Padding" Value="0"/>
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="Foreground" Value="{StaticResource color_MediumGray}"/>
<Setter Property="FontSize" Value="34"/>
<Setter Property="FontFamily" Value="Resources/Fonts/#HelveticaNeueMed" />
<Setter Property="Width">
<Setter.Value>
<MultiBinding Converter="{StaticResource tabSizeConverter}">
`<Binding RelativeSource="{RelativeSource Mode=FindAncestor,` AncestorType={x:Type TabControl}}" />
<Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}" Path="ActualWidth" />
</MultiBinding>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border x:Name="Chrome"
BorderThickness="30,0"
BorderBrush="{StaticResource color_Transparent}"
Background="{StaticResource color_LightGray}"
Padding="0" Margin="0">
<ContentPresenter ContentSource="Header"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Selector.IsSelected" Value="True">
<Setter TargetName="Chrome" Property="BorderThickness" Value="0"/>
<Setter TargetName="Chrome" Property="Background" Value="{StaticResource color_White}"/>
<Setter Property="Foreground" Value="{StaticResource color_Purple}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如果有人能帮助我acheving的TabControl这样的风格会是一个很大的帮助。 在此先感谢。
嗨,将是很好的得到一些反馈我的回答是否解决您的问题或是否需要任何澄清。 – grek40