2012-07-02 58 views
0

我似乎无法控制选定选项卡的背景颜色。但是,我可以使用IsSelected触发器来控制非选定选项卡的值。设置TabItem IsSelected背景

此代码:

<Style TargetType="{x:Type TabItem}"> 
    <Setter Property="Background" Value="Black" /> 
    <Setter Property="Foreground" Value="#EE444444" /> 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="false"> 
      <Setter Property="Background" Value="Pink"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

作品,设置未选中的选项卡的背景为粉红色。但是,选定的选项卡之后,我无法摆脱一些浅灰色。

我也试过这样:

<Style TargetType="{x:Type TabItem}"> 
    <Setter Property="Background" Value="Black" /> 
    <Setter Property="Foreground" Value="#EE444444" /> 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="false"> 
      <Setter Property="Background" Value="Pink"/> 
     </Trigger> 
     <Trigger Property="IsSelected" Value="true"> 
      <Setter Property="Background" Value="Red"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

,但这些都没有选择选项卡上的任何影响。我能想到的唯一的事情是一些引用程序集有一个通用的标签样式?

此样式与选项卡控件位于Grid.Resources部分中的文件相同。

回答

0

TabItem选择行为在模板级别定义。如果您想更改颜色,请定义一个全新的DataTemplate,并在该模板中定义触发器以更改颜色。然后将该模板定义为TabControl的ItemTemplate。