在C#中更改TextBlock的背景颜色

jya*_*ard 1 c# silverlight windows-phone-7

目前将应用程序移植到Windows Phone 7我遇到了一个应该是微不足道的问题

我想要的只是改变TextBlock的背景颜色.使用WYSIWYG我可以轻松创建TextBlock,更改前景色和背景色.所以对于在黑色背景上使用白色文本的TextBlock,我会使用:

<TextBox Height="148" HorizontalAlignment="Left" Margin="106,0,0,0" Name="textBox1" Text="TextBox" VerticalAlignment="Top" Width="460" Background="Black" BorderBrush="Black" Foreground="White" />
Run Code Online (Sandbox Code Playgroud)

但我需要在代码(C#)中执行它,而Background似乎不是TextBlock的属性.为什么你可以使用资源编辑器来做,但不能在代码中做?

我发现了各种类似的问题,但没有明确的答案.在Microsoft文档(.Net)中,TextBlock似乎确实具有Background属性

有没有办法在代码中执行此操作而不必将TextBlock放在具有Background属性的容器(如Grid)中?谢谢JY

Jus*_* XL 5

TextBlock不是继承自的Control,它没有Background属性.你展示的代码TextBox不是TextBlock.TextBox继承Control并拥有Background财产.最简单的方法是用a包装它Panel,或者你可以为它创建一个自定义控件.

此外,在silverilght sdk中,您有一个名为的控件Label,它继承自Control.您可以从那里获取源代码并在项目中实现它.