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静的クラスには "Light Red" の静的プロパティが含まれていないためColor.FromArgbColor.FromRgb、 などのメソッドをいつでも使用できます。例:

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

適切な色を作成する方法については何度でも説明できますが、要点はわかります...

于 2013-06-28T01:20:52.080 に答える