错误与背景样式

问题描述:

我有一个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网页赢得”吨负载。如果我删除了背景设置器,它可以工作,但我需要这个背景。

有没有某种解决方法可以解决这个问题?

+0

你或许应该提到这一点是Silverlight的...这工作正常WPF,因为背景属性在FrameworkElement的定义,而不是控制 – 2011-04-26 19:31:09

在Silverlight中TextBlock类没有Background属性,它总是透明的。如果您希望它具有背景色,请将其放置在另一个控件中,如Border,您可以在其中设置背景色。

另一种选择是使用Label而不是TextBlock

+0

我有一个可怕的很多使用这种风格的元素,是有可能把“围绕样式”的边框,而不必重写几乎所有的代码? – Matthias 2011-04-26 19:36:17

+0

@Matthias,不,这是不可能的。你不能把它放在一个模板中,因为TextBlock不是一个控件,也没有模板...最简单的方法可能是用标签替换TextBlocks – 2011-04-26 21:09:51

您可以采用类似于jQuery的方法,并在加载页面以包装具有边框的所有文本块(使用适当的样式)时行走可视化树。

您也可以使用ContentControl而不是TextBlock,那么不需要包装视觉。

<ContentControl Content='MyText' Background="#FF3B596E" />