2010-03-05 42 views
2

我目前在WPF使用这种风格对我的组合框背景色:WPF组合框:当禁用

<Style TargetType="ComboBox"> 
     <Setter Property="Foreground" Value="White"/> 
     <Setter Property="Background" Value="#303030"/> 
     <Setter Property="BorderBrush" Value="#000000"/> 
    </Style> 

我怎样才能改变它当ComboBox禁用指定背景颜色?

(这是一个后续行动这样一个问题:WPF combobox colors

回答

2
<Style TargetType="ComboBox"> 
    <Setter Property="Foreground" Value="White"/> 
    <Setter Property="Background" Value="#303030"/> 
    <Setter Property="BorderBrush" Value="#000000"/> 
    <Style.Triggers> 
     <Trigger Property="IsEnabled" Value="False"> 
      <Setter Property="Background" Value="#101010"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 
+7

不适用于我...如果我禁用组合框,背景仍然是浅灰色。 – Warpin 2010-03-05 18:36:10

+0

你错过了关闭,但其他工作完全适合我。你不必重写整个控件模板,只需要触发器本身。比查看MS链接中提供的整个ControlTemplate简单得多,尽管这也很有帮助,但是过度杀伤......就像用火箭狩猎鸭子一样发射器。 – DRapp 2011-10-19 16:29:11