c# – 如何在wpf中动态更改组合框特定项目颜色

前端之家收集整理的这篇文章主要介绍了c# – 如何在wpf中动态更改组合框特定项目颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<Grid x:Name="LayoutRoot">
    <ComboBox x:Name="com_ColorItems" Height="41" Margin="198,114,264,0" VerticalAlignment="Top" FontSize="13.333" FontWeight="Bold" Foreground="#FF3F7E24"/>
</Grid>

使用上面的代码我将组合框绿色中的所有项目着色.

private void Window_Loaded(object sender,RoutedEventArgs e)
{
        for (int i = 0; i < 5; i++)
        {
            com_ColorItems.Items.Add(i);
        }
}

使用上面的代码,我已经将五个项目填充到组合框中.现在我喜欢动态地将代码中第3项(3)的颜色更改为“红色”.我怎样才能做到这一点?

解决方法

而不是在组合框中添加i的实际值,而是添加一个ComboBoxItem:
private void Window_Loaded(object sender,RoutedEventArgs e)
    {
        for (int i = 0; i < 5; i++)
        {
            ComboBoxItem item = new ComboBoxItem();

            if (i == 2) item.Foreground = Brushes.Blue;
            else item.Foreground = Brushes.Pink;

            item.Content = i.ToString();
            com_ColorItems.Items.Add(item);
        }
    }

如果要稍后修改使用此方法创建的ComboBoxItem,则可以使用以下方法

var item = com_ColorItems.Items[2] as ComboBoxItem; // Convert from Object
if (item != null)                                   // Conversion succeeded 
{
    item.Foreground = Brushes.Tomato;
}
原文链接:https://www.f2er.com/csharp/100666.html

猜你在找的C#相关文章