2009-04-08 5 views
0

Ich kann den Hintergrund jedes TabItem mit TabItem.Background festlegen, aber wenn diese Registerkarte ausgewählt ist, ist es einfach Vanilla White.In XAML TabControl, wie legt man den Stil des fokussierten Tab-Headers fest?

Wie stelle ich den Stil der Registerkarte Kopf , die fokussiert ist?

<TabControl DockPanel.Dock="Top"> 
    <TabControl.Background> 
     <LinearGradientBrush EndPoint="1.115,1.13" StartPoint="0,-0.02"> 
      <GradientStop Color="#FFFFFFFF" Offset="1"/> 
      <GradientStop Color="#FFE0E376" Offset="0"/> 
     </LinearGradientBrush> 
    </TabControl.Background> 

    <TabItem Header="Allgem." Cursor="Hand"> 
     <TabItem.Background> 
      <LinearGradientBrush EndPoint="0,1" StartPoint="0,0"> 
       <GradientStop Color="#FFF3F3F3" Offset="0"/> 
       <GradientStop Color="#FFF11818" Offset="1"/> 
      </LinearGradientBrush> 
     </TabItem.Background> 
     <StackPanel DockPanel.Dock="Bottom" Width="400" HorizontalAlignment="Left" Margin="10"> 
      ... 

Antwort

5

können Sie einen Trigger verwenden, um die Art nur für die ausgewählten Registerkarte zu ändern:

<TabControl DockPanel.Dock="Top"> 
    <TabControl.Resources> 
     <Style TargetType="{x:Type TabItem}"> 
      <Style.Triggers> 
       <Trigger Property="IsSelected" Value="True"> 
        <Setter Property="Background"> 
         <Setter.Value> 
          <LinearGradientBrush EndPoint="0,1" StartPoint="0,0"> 
           <GradientStop Color="#FFF3F3F3" Offset="0"/> 
           <GradientStop Color="#FFF11818" Offset="1"/> 
          </LinearGradientBrush> 
         </Setter.Value> 
        </Setter> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </TabControl.Resources> 
    <TabControl.Background> 
     <LinearGradientBrush EndPoint="1.115,1.13" StartPoint="0,-0.02"> 
      <GradientStop Color="#FFFFFFFF" Offset="1"/> 
      <GradientStop Color="#FFE0E376" Offset="0"/> 
     </LinearGradientBrush> 
    </TabControl.Background> 
    <TabItem Header="Allgem." Cursor="Hand"> 
     <StackPanel DockPanel.Dock="Bottom" Width="400" 
      HorizontalAlignment="Left" Margin="10"> 
     ... 
     </StackPanel> 
    </TabItem> 
</TabControl> 

Dies wird den Hintergrund der ausgewählten Registerkarte auf die roten Gradienten in Ihrem Beispielcode verwendet, eingestellt.

Verwandte Themen