颜色编码组合框的样式

本文关键字:样式 组合 编码 颜色 | 更新日期: 2023-09-27 18:37:16

我正在尝试将数据触发器添加到默认组合框样式,以便下拉框中的每个文本项都将被分配不同的颜色,并且所选项目也将是该颜色。 我已经能够使用以下 xaml 代码成功地对数据网格中的文本列项进行颜色编码:

<DataGrid ...>
    <DataGrid.Columns>
        <DataGridTextColumn ...>
            <DataGridTextColumn.CellSyle>
                <Style TargetType="DataGridCell">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=Status}" Value="Accepted">
                            <Setter Property="Foreground" Value="Green"/>
                        </DataTrigger>
                    <Style.Triggers>
                </Style>
            </DataGridTextColumn.CellStyle>
        </DataGridTextColumn>
    </DataGrid.Columns>
</DataGrid>

但是我不知道如何为组合框执行此操作。 有人可以帮忙吗?

颜色编码组合框的样式

试试这个:

<ComboBox x:Name="cb01">
  <ComboBox.ItemTemplate>
    <DataTemplate>
      <TextBlock Text="{Binding Name}">
        <TextBlock.Style>
          <Style TargetType="TextBlock">
            <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=Status}"
                                 Value="Accepted">
                        <Setter Property="Foreground"
                                Value="Green" />
                    </DataTrigger>
            </Style.Triggers>
          </Style>
        </TextBlock.Style>
      </TextBlock>
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>