2009-04-08 63 views
0

我可以使用TabItem.Background設置每個TabItem的背景,但是當該選項卡是選中時,它是普通的香草白色。在XAML TabControl中,如何設置焦點選項卡標題的樣式?

如何設置選項卡標題的風格

<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"> 
      ... 

回答

5

您可以使用觸發器來更改樣式只選定標籤:

<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> 

這將所選標籤的背景設置在您的示例代碼中使用的紅色漸變。

相關問題