2010-03-05 98 views
0

我加入這個Style到的App.xaml改變我的應用程序的所有ComboBox ES的外觀:WPF組合框的顏色

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

有,我一直無法設置兩種顏色:

1)Background顏色時IsEnabled=false

2)當鼠標在ComboBox高亮Background顏色。

我該如何改變這兩種顏色?

[編輯:它看起來像高光顏色是不一樣的鼠標懸停顏色,因爲當我將鼠標移動到ComboBox它將簡單地將我定義爲鼠標的顏色轉變爲顏色,然後變成一些其他顏色(淺藍色)]

回答

2

您想檢查樣式觸發器。還需要重寫ItemContainerStyle以擺脫默認的淺藍色選擇顏色

<Style.Triggers> 
    <Trigger Property="IsMouseOver" Value="true"> 
    <Setter Property="Background" Value="SomeColor" /> 
    </Trigger> 
    <Trigger Property="IsEnabled" Value="false"> 
    <Setter Property="Background" Value="SomeOtherColor" /> 
    </Trigger> 
</Style.Triggers> 
+0

突出顯示不起作用。我爲IsMouseOver設置了紅色,並且它在大約四分之一秒內變成紅色,然後高亮顏色變爲淺藍色(用於直接轉向)。 – Warpin 2010-03-05 08:11:17

+2

我希望你把這個風格放到ItemContainerStyle(這是用於ComboBoxItem的風格) – 2010-03-05 19:15:25