Je suis en train de mettre en œuvre le style de TabControl avec TabItem comme ci-dessous Images: TabControl et TabItem avec effet Dropshadow WPF
Le style devrait faire ci-dessous les choses visibles:
- Elément de liste
- Fond blanc pour TabControl et TabItem sélectionné avec effet Dropshadow.
- Si un élément TabItem n'est pas sélectionné, la couleur du texte TabItem doit devenir grise.
Ce que j'ai accompli jusqu'à présent:
- Capable de diviser la largeur de TabControl pour recevoir des articles TabItem avec des tailles égales en utilisant le convertisseur de TabSizeConverter.
- Possibilité de changer l'arrière-plan et avec TabControl et TabItems. Mais pas en mesure d'atteindre l'effet Dropshadow.
- Ci-dessous est mon style pour 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>
Si quelqu'un peut me aider acheving TabControl avec ce style serait d'une grande aide. Merci d'avance.
Salut, serait bien d'obtenir des commentaires si ma réponse a résolu votre question ou si une clarification est nécessaire. – grek40