WPF添加一个边框到一个TextBlock

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

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

不,你需要将你的TextBlock包装在边框中。 例:

 <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> 

TextBlock实际上并不是从Controlinheritance的,所以它不具有通常与Control关联的属性。 在样式中添加边框的最佳方法是用标签replaceTextBlock

有关TextBlock和其他控件之间的区别,请参阅此链接