You need to define the look of your choice with styles.
<Window.Resources> <Style TargetType="{x:Type ComboBoxItem}"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ComboBoxItem}"> <Border Background="{TemplateBinding Background}"> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Border Margin="2" Grid.Row="0" Background="Azure" /> <ContentPresenter /> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Green" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources>
This style will be automatically applied to any ComboBoxes in the window:
<StackPanel> <ComboBox> <ComboBoxItem>111</ComboBoxItem> <ComboBoxItem>222</ComboBoxItem> <ComboBoxItem>333</ComboBoxItem> <ComboBoxItem>444</ComboBoxItem> <ComboBoxItem>555</ComboBoxItem> </ComboBox> </StackPanel>
You will see the following:

UPD: To remove the selection from the selected item, you need to change the system brushes that are actually used for this purpose. Just add two additional styles:
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
source share