如何在WPF中的TextBlock中为Text添加边框?

时间:2011-02-24 13:42:30

标签: wpf textblock

我是WPF的新手,不知道这个问题是不是很奇怪。我想知道是否可以在textBlock中的文本周围添加边框。

编辑:

根据建议,我尝试了两种方法,但没有取得多大成功:

<Border BorderBrush="#FF0B232F" BorderThickness="2">
   <TextBlock HorizontalAlignment="Left" Text="TextBlock" TextWrapping="Wrap" FontSize="36" FontWeight="Bold" Foreground="#FF88BCCD" OpacityMask="Black"/>      
</Border>

<Label BorderBrush="#FF0B232F" BorderThickness="2,2,2,2" Content="TextBlock" FontSize="36" FontWeight="Bold" Foreground="#FF88BCCD" />

我在这里做错了吗?

4 个答案:

答案 0 :(得分:4)

在这种情况下,我使用放置在Label中的TextBlockBorder

答案 1 :(得分:4)

您的方法都是正确的,但是,如果您在网格(或任何其他容器)中声明了文本块/标签,则其内容将会延伸。 尝试将VerticalAlignment和/或Horizo​​ntalAlignment设置为适当的设置(Top / Left,Center)..

类似的东西:

<Border BorderBrush="#FF0B232F" BorderThickness="2" VerticalAlignment="Top">
    <TextBlock HorizontalAlignment="Left" Text="TextBlock" TextWrapping="Wrap" FontSize="36" FontWeight="Bold" Foreground="#FF88BCCD" OpacityMask="Black"/>
</Border>

答案 2 :(得分:2)

假设您要求在TextBlock的边界内使用边框覆盖的全尺寸TextBlock,您可以将其包装在网格中并在TextBlock的顶部绘制边框,如下所示...

<Grid HorizontalAlignment="Left">
    <TextBlock Text="TextBlock" TextWrapping="Wrap" FontSize="36" FontWeight="Bold" Foreground="#FF88BCCD" OpacityMask="Black" />
    <Border BorderBrush="#FF0B232F" BorderThickness="2" />
</Grid>

因为我们还没有在TextBlock和Border对象上指定网格行和列,所以边框覆盖在TextBlock的顶部。

答案 3 :(得分:0)

如果您只想在文本块或任何其他控件周围使用边框:

 <Border>
      <TextBlock></TextBlock>
    </Border>

设置边框属性,如颜色,角半径,厚度......