2010-10-19 177 views
45

是否可以向文本塊添加邊框?我需要將它添加到代碼如下的setter屬性中:WPF向文本塊添加邊框

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

使用文本框,而不是更換TextBlock的。 – 2016-04-15 03:24:01

回答

86

不,您需要將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> 
18

一個TextBlock實際上並沒有從Control繼承所以它不具有的屬性,你通常會與Control相關聯。在樣式添加邊框最好的辦法是用標籤

this link更多關於一個TextBlock和其他控件之間的差異

+2

優秀的答案,我更喜歡這個引入另一個控件/邊框。哇2010以來,仍然有效:) – usefulBee 2014-10-28 18:36:04