2010-02-16 7 views
14

in meinem XAML-Code habe ich ein TabControl mit mehreren Elementen. Das Problem, das ich habe, ist, dass ich die tabitems über den Inhaltsbereich nicht zentrieren kann. Die Tabs beginnen immer auf der linken Seite, aber ich brauche sie zentriert. Das ist mein Code:WPF: Center TabItems in einem 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> 

Ich weiß nicht, eine Eigenschaft, um die Elemente zu zentrieren - keine Ahnung?

+1

dies ist eine ziemlich gute Frage, da ich bin sicher, dass viele Leute möchten in der Lage sein, das zu tun, sondern nur gewonnen Nimm dir die Mühe, es zu versuchen. –

Antwort

39

Intern verwendet die TabControl eine TabPanel zum Layout der Registerkarten. Unter Verwendung der Standardvorlage, müssen Sie nur die HorizontalAlignment des TabPanel durch einen Stil festlegen:

<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 ... Mist. Das meinte er. Schöne einfache Lösung auch. +++ würde + nochmal. – Will

+1

@Will: Danke. :-) – Heinzi

+0

Danke! Dies ist eine perfekte Lösung für mein Problem! –