0

如何在 c# 中更改对象的背景颜色(由其 observablecollection 索引引用)?

for (int i = 0; i < numTapeSlots; i++)
        {
            if (t.tapeLocation == mainTapes[i].tapeLocation)
            {
                mainTapes[i] = t;
                mainTapes[i].Background = "light red";
            }
        }

仅在满足条件时才更改特定对象。

4

1 回答 1

3

任何从类继承的Control类都具有Background属性,它是Brush...的类型,基本上,您只能为其分配一个Brush对象。如果您希望画笔为纯色,则可以使用SolidColorBrush.

在你的情况下,你会想要做:

mainTapes[i].Background = new SolidColorBrush(...);

现在,由于Colors静态类不包含“浅红色”的静态属性,您始终可以只使用诸如 、 等方法Color.FromArgbColor.FromRgb例如:

mainTapes[i].Background = new SolidColorBrush(Color.FromRgb(255,100,100));

我可以继续讨论如何创建合适的颜色,但你明白了......

于 2013-06-28T01:20:52.080 回答