Все, что вам нужно сделать, это установить Style
в null
, чтобы остановить его наследование. Затем вы можете установить Foreground
на любое значение:
var tb = new TextBlock() { Text = "Hello" };
tb.Style = null;
tb.Foreground = Brushes.Blue;
this.Children.Add(tb);
Если это не работает для вас, я бы предположил, что что-то совершенно другое происходит.
PS. Используйте Brushes.Black
вместо создания собственного SolidColorBrush
. Мало того, что это чище, кисти также будут заморожены. Ваш код создает незамерзшую кисть, которая менее эффективна. Вы также можете заморозить его самостоятельно, позвонив на кисть Freeze()
.