2017-01-27 36 views
0

我試圖在用戶將鼠標移動到某個項目上時實現組合框的透明高亮顯示。我需要它是透明的,因爲組合框中的每個項目都有一個在下拉菜單中顯示爲背景的顏色。在組合框選擇中設置透明高光?

<ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="84,70,0,0" VerticalAlignment="Top" Width="230" FontWeight="ExtraBold"> 
     <ComboBox.Resources> 
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}">Transparent</SolidColorBrush> 
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}">Black</SolidColorBrush> 
     </ComboBox.Resources> 
     <ComboBox.ItemContainerStyle> 
      <Style TargetType="ComboBoxItem"> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Value}" Value="Agriculture"> 
         <Setter Property="Background" Value="Green" /> 
        </DataTrigger> 

與此代碼我只得到白色覆蓋高亮顯示的項目的背景下,像這樣: Forestry is white, when it should be gray

有什麼建議?

回答

1

您可以嘗試的SolidColorBrush的顏色設置爲銀色或東西,還設置了Opacity屬性的值小於1:

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Opacity="0.4" Color="Silver" /> 

的HighlightBrushKey將不會應用「在」默認ComboBoxItems的SolidColorBrushes。它將取代這些而不是覆蓋它們。

+0

嘗試過,仍然只是變成白色:/看起來像沒有辦法繞過它,我只需要使用這個@ mm8 – MicroDev

+0

你期望/想要它有什麼顏色?只需將畫筆的顏色屬性設置爲這個。恐怕沒有像「透明高光」顏色或畫筆那樣的東西。 – mm8

+0

是的,rgb不支持透明度,它與不透明度一起工作,所以我會嘗試做出幾個改變,看看它是如何工作的,在任何情況下,耐心等待:)) @ mm8 – MicroDev