彩色编码组合框的样式

时间:2012-06-15 17:04:09

标签: c# wpf xaml styles datatrigger

我正在尝试将数据触发器添加到默认的组合框样式,因此下拉框中的每个文本项都将分配不同的颜色,所选项也将是该颜色。我已成功地使用此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>

但我无法弄清楚如何为组合框做到这一点。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

<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>