如何在c#中设置对象的背景颜色(由数据模板表示)?

时间:2013-06-27 21:45:11

标签: c# wpf colors

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

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

仅在符合条件的情况下更改特定对象。

1 个答案:

答案 0 :(得分:3)

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

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

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

现在,由于Colors静态类不包含“Light Red”的静态属性,因此您始终可以使用Color.FromArgbColor.FromRgb等方法。例如:

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

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