2010-02-16 5 views
14

Dans mon code XAML, j'ai un TabControl avec plusieurs éléments. Le problème que j'ai, c'est que je ne peux pas centrer les tabitems sur la zone de contenu. Les onglets commencent toujours sur le côté gauche, mais j'ai besoin d'eux centrés. Ceci est mon code:WPF: Center TabItems dans un TabControl

<TabControl> 
    <TabItem Header="Test 1" Style="{StaticResource LeftTab}" Height="40" /> 
    <TabItem Header="Test 2" Style="{StaticResource MiddleTab}" /> 
    <TabItem Header="Test 3" Style="{StaticResource MiddleTab}" /> 
    <TabItem Header="Test 4" Style="{StaticResource RightTab}" /> 
</TabControl> 

Je ne connais pas une propriété pour centrer les articles - une idée?

+1

c'est une très bonne question car je suis sûr que beaucoup de gens aimeraient être en mesure de le faire, mais vient de gagner Ne prends pas l'effort d'essayer. –

Répondre

39

En interne, le TabControl utilise un TabPanel pour mettre en forme les onglets. En utilisant le modèle par défaut, il vous suffit de régler la HorizontalAlignment du TabPanel par un style:

<TabControl> 
    <TabControl.Resources> 
     <Style TargetType="{x:Type TabPanel}"> 
      <Setter Property="HorizontalAlignment" Value="Center" /> 
     </Style> 
    </TabControl.Resources> 

    <TabItem Header="Test 1" /> 
    <TabItem Header="Test 2" /> 
    <TabItem Header="Test 3" /> 
    <TabItem Header="Test 4" /> 
</TabControl> 
+0

Oh ... merde. C'est ce qu'il voulait dire. Belle solution simple, aussi. +++ serait + encore. – Will

+1

@Will: Merci. :-) – Heinzi

+0

Merci! C'est une solution parfaite pour mon problème! –

Questions connexes