コードから文字色、背景色を変更する

単純なことなのにハマってしまったのでメモ。


SilverLightC#)で文字色を変更するには、ForegroundプロパティにSolidColorBrushをセットする。

RGBでセットするにはこんな感じ。

String color = "#FFFF00";
byte r = Byte.Parse(color.Substring(1, 2), NumberStyles.AllowHexSpecifier);
byte g = Byte.Parse(color.Substring(3, 2), NumberStyles.AllowHexSpecifier);
byte b = Byte.Parse(color.Substring(5, 2), NumberStyles.AllowHexSpecifier);
TextBox.Foreground = new SolidColorBrush(Color.FromArgb(Byte.MaxValue, r, g, b));

FromArgbの1つ目の引数はアルファ値。
0にすると透明になる。

背景色の場合はBackgroundにセットする。