对象无法访问的属性

时间:2012-09-17 13:27:49

标签: c# properties textblock

我正在使用C#,Silverlight。

某些对象的某些属性似乎对我无法使用。例如,TextBlock类应该具有Background属性,但我的Visual Studio似乎没有实现它。

我的示例代码:

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

前景属性正常。

但是如果我尝试Background属性:

myTextBlock.Background = myColor;

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

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

知道发生了什么事吗?

2 个答案:

答案 0 :(得分:2)

TextBlock.Background在Silverlight中不可用。

MSDN页面顶部有框架版本切换。把它变成'Silverlight'位置,你会看到实际的属性列表。

答案 1 :(得分:1)

TextBlock在Silverlight中没有Background属性。它实际上没有适当的背景。可以把它想象成一个透明的文本容器。

您可以使用Border

解决此问题
<Border Background="[your color]" BorderBrush="Transparent"> 
    <TextBlock ... />
</Border>

请注意:您要将所有定位/尺寸调整属性(Grid.RowMargin ...)从TextBlock移动到Border本身以保持它在哪里。