0

我正在使用 C#,Silverlight。

某些对象的某些属性似乎对我不可用。例如,TextBlock 类应该有一个 Background 属性,但我的 Visual Studio 似乎没有意识到它。

我的示例代码:

// myTextBlock is a TextBlock, myColor is a SolidColorBrush.Color
// these objects were both initiated elsewhere
myTextBlock.Foreground= myColor;

Foreground 属性工作得很好。

但是,如果我尝试 Background 属性:

myTextBlock.Background = myColor;

这不起作用,因为 Visual Studio 无法识别 TextBlocks 具有 Background 属性。

TextBlock 类的在线文档:http: //msdn.microsoft.com/en-us/library/system.windows.controls.textblock.aspx

知道发生了什么吗?

4

2 回答 2

2

TextBlock.Background在 Silverlight 中不可用。

MSDN 页面顶部有框架版本开关。将其转到“Silverlight”位置,您将看到实际的属性列表。

于 2012-09-17T13:31:38.350 回答
1

TextBlockBackground在 Silverlight中没有属性。它实际上没有适当的背景。将其视为文本的透明容器。

您可以使用以下方法解决此问题Border

<Border Background="[your color]" BorderBrush="Transparent"> 
    <TextBlock ... />
</Border>

但请注意:您要将所有定位/大小调整属性 ( Grid.Row, Margin...) 从TextBlock移动到Border自身以将其保持在原位。

于 2012-09-17T13:38:55.663 回答