2015-01-15 2 views
4

Я делаю WPF и имею comboBox, который имеет список доступных портов на компьютере. Я хочу изменить цвет этих элементов.BackgroundColor Items ComboBox WPF

Мой COMBOBOX является этим:

<ComboBox HorizontalAlignment="Left" Margin="445,0,0,0" VerticalAlignment="Top"  Width="120" Loaded="ComboBoxLoaded" SelectionChanged="ComboBoxSelectionChanged" Grid.Column="1" Background="#849096" Foreground="White"/> 

И это является метод зарядил:

private void ComboBoxLoaded(object sender, RoutedEventArgs e) 
    { 
     string [] portsList = PrintPorts(); 

     // get the ComboBox reference 
     var comboBox = sender as ComboBox; 

     // assign the ItemsSource to the List 
     comboBox.ItemsSource = portsList; 

     // make the first item selected 
     comboBox.SelectedIndex = 0; 
    } 

Я пытался много вещей, но ничего не работает. Кто-то знает, как это сделать? Благодаря!!

ответ

7

Чтобы изменить цвет фона отдельных элементов вы можете изменить ItemContainerStyle, что-то вроде:

<ComboBox> 
     ... 
     <ComboBox.ItemContainerStyle> 
      <Style TargetType="{x:Type ComboBoxItem}"> 
       <Setter Property="Background" Value="Blue" /> 
      </Style> 
     </ComboBox.ItemContainerStyle> 
     ... 
    </ComboBox> 

Это позволит установить цвет фона на ComboBoxItem с до Blue

+0

Используя этот код немного границы остается вокруг каждого элемента ... как я могу изменить код, чтобы вся раскрывающаяся панель была синей? – MartinaLabMath

+1

Я считаю, что это действительно новый вопрос. Вы должны опубликовать его как новый вопрос и добавить скриншоты того, как он выглядит, и ожидаемого результата. Обратите внимание, что разные ОС имеют разные стили, поэтому также указывайте целевую ОС. – Default

+0

http://stackoverflow.com/questions/38094770/how-change-the-background-color-of-the-dropdown-panel-of-combobox – MartinaLabMath