错误与背景样式
我有一个XAML文件以下样式:错误与背景样式
<Style x:Key="LabelText"
TargetType="TextBlock">
<Setter Property="FontFamily" Value="Segoe Black"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Foreground" Value="#FFB3B4C1"/>
<Setter Property="TextAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Background" Value="#FF3B596E"/>
</Style>
不幸的是,
<Setter Property="Background" Value="#FF3B596E"/>
不是由Visual Studio的认可,所以我的XAML网页赢得”吨负载。如果我删除了背景设置器,它可以工作,但我需要这个背景。
有没有某种解决方法可以解决这个问题?
在Silverlight中TextBlock
类没有Background
属性,它总是透明的。如果您希望它具有背景色,请将其放置在另一个控件中,如Border
,您可以在其中设置背景色。
另一种选择是使用Label
而不是TextBlock
。
我有一个可怕的很多使用这种风格的元素,是有可能把“围绕样式”的边框,而不必重写几乎所有的代码? – Matthias 2011-04-26 19:36:17
@Matthias,不,这是不可能的。你不能把它放在一个模板中,因为TextBlock不是一个控件,也没有模板...最简单的方法可能是用标签替换TextBlocks – 2011-04-26 21:09:51
您可以采用类似于jQuery的方法,并在加载页面以包装具有边框的所有文本块(使用适当的样式)时行走可视化树。
您也可以使用ContentControl
而不是TextBlock
,那么不需要包装视觉。
<ContentControl Content='MyText' Background="#FF3B596E" />
你或许应该提到这一点是Silverlight的...这工作正常WPF,因为背景属性在FrameworkElement的定义,而不是控制 – 2011-04-26 19:31:09