2013-12-02 3 views
1

Я пытаюсь изменить Backgroundcolor выбранного ListBoxItem, когда он не сфокусирован, а содержащее окно не активно. У окна есть ShowActivated = false. Но он по-прежнему серый.Изменение цвета фона в ListBoxItem, когда оно не сфокусировано

Вот мой код:

 <ListBox x:Name="oList" > 
     <ListBox.ItemContainerStyle> 
      <Style TargetType="{x:Type ListBoxItem}"> 
       <EventSetter Event="MouseDoubleClick" 
          Handler="listBoxItem_DoubleClick" /> 
       <Style.Resources> 
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
            Color="LightGreen" /> 
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
            Color="LightBlue" /> 
       </Style.Resources> 
      </Style> 
     </ListBox.ItemContainerStyle> 

     <ListBoxItem Content="Coffie"></ListBoxItem> 
     <ListBoxItem Content="Tea"></ListBoxItem> 
     <ListBoxItem Content="Orange Juice"></ListBoxItem> 
     <ListBoxItem Content="Milk"></ListBoxItem> 
     <ListBoxItem Content="Iced Tea"></ListBoxItem> 
     <ListBoxItem Content="Mango Shake"></ListBoxItem> 
    </ListBox> 

Я надеюсь, что кто-то может помочь мне, что я делаю неправильно.

ответ

1

Попробуйте добавить это в Style.Resources (изменение цвета по своему вкусу):

<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="LightBlue"/> 
+0

Это не работает тоже. – BennoDual

+0

Это работает, но должно быть установлено в стиле, установленном для вашего контейнера элементов списка. (Где вы помещаете свои другие переопределения цвета). – kicks

+0

@kicks Обновленный ответ. Благодаря! – gleng

Смежные вопросы