WPF向TextBlock添加边框

时间:2010-10-19 16:28:50

标签: wpf

是否可以为文本块添加边框。我需要将它添加到代码下面的setter属性中:

<Style x:Key="notCalled" TargetType="{x:Type TextBlock}">
    <Setter Property="Margin" Value="2,2,2,2" />
    <Setter Property="Background" Value="Transparent" />
</Style>

2 个答案:

答案 0 :(得分:107)

不,您需要将TextBlock包装在Border中。例如:

<Border BorderThickness="1" BorderBrush="Black">
    <TextBlock ... />
</Border>

当然,您也可以通过样式设置这些属性(BorderThicknessBorderBrush):

<Style x:Key="notCalledBorder" TargetType="{x:Type Border}">
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="BorderBrush" Value="Black" />
</Style>

<Border Style="{StaticResource notCalledBorder}">
    <TextBlock ... />
</Border>

答案 1 :(得分:25)

TextBlock实际上并不从Control继承,因此它没有通常与Control关联的属性。在样式中添加边框的最佳选择是将TextBlock替换为Label

有关TextBlock与其他控件之间差异的更多信息,请参阅this link