Изменение цвета переднего плана флажка со списком

#c# #wpf

#c# #wpf

Вопрос:

Я пытаюсь изменить цвет переднего плана ComboBoxItem, однако он не применяется, что я делаю не так? Также я пытаюсь изменить цвет переднего плана при наведении курсора на ComboBoxItem, который также не работает.

Вот мой xaml:

 <ComboBox Foreground="Yellow"  Name="txtDispatch" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0,0,15,0" Grid.Column="2" Grid.Row="0"   materialDesign:HintAssist.Hint="Select Dispatch"   SelectionChanged="txtDispatch_SelectionChanged">
                    <ComboBox.ItemTemplate >
                        <DataTemplate >
                            <CheckBox  Foreground="Yellow" Name="chkDispatch" Width="220"  Checked="txtDispatch_Checked" Unchecked="txtDispatch_Checked" Content="{Binding Dispatch.id}"  IsChecked="{Binding Check_Status}"  CommandParameter="{Binding Dispatch.id}" />
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
  

Комментарии:

1. Стили и шаблоны со списком

Ответ №1:

 <ComboBox Foreground="Black">
                <ComboBox.Style>
                    <Style TargetType="ComboBox">
                        <Setter Property="ItemContainerStyle">
                            <Setter.Value>
                                <Style TargetType="ComboBoxItem">
                                    <Style.Triggers>
                                        <Trigger Property="IsMouseOver" Value="False">
                                            <Setter Property="Background" Value="White"/>   <!--Optional-->
                                            <Setter Property="Foreground" Value="Red"/>
                                        </Trigger>
                                        <Trigger Property="IsMouseOver" Value="True">
                                            <Setter Property="Background" Value="White"/>   <!--Optional-->
                                            <Setter Property="Foreground" Value="Yellow"/>
                                        </Trigger>
                                    </Style.Triggers>
                                </Style>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </ComboBox.Style>
                
                <!-- Items List-->
                <ComboBoxItem>1</ComboBoxItem>
                <ComboBoxItem>2</ComboBoxItem>
                <ComboBoxItem>3</ComboBoxItem>
                <ComboBoxItem>4</ComboBoxItem>
                <ComboBoxItem>5</ComboBoxItem>
            </ComboBox>
  

Очень просто. Используйте стиль.