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

时间:2011-10-21 03:04:43

标签: 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" />

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

相关问题