我正在尝试将数据触发器添加到默认组合框样式,以便下拉框中的每个文本项都将被分配不同的颜色,并且所选项目也将是该颜色。 我已经能够使用以下 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>