2010-10-19 27 views
45

È possibile aggiungere un bordo a un blocco di testo. Ho bisogno che venga aggiunto nella proprietà setter sotto codice:WPF Aggiungi un bordo a TextBlock

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

Utilizzare un TextBox invece. –

risposta

86

No, è necessario avvolgere TextBlock in un bordo. Esempio:

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

Naturalmente, è possibile impostare queste proprietà (BorderThickness, BorderBrush) attraverso stili così:

<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

Un TextBlock in realtà non ereditare da controllo in modo che non ha proprietà che si sarebbe generalmente associato a un controllo. La cosa migliore per l'aggiunta di un bordo in stile è quello di sostituire il TextBlock con un'etichetta

Vedi this link per più sulle differenze tra un TextBlock e altri controlli

+2

Risposta eccellente, preferisco che sia necessario introdurre un altro controllo/bordo attorno ad esso. wow dal 2010 e ancora valido :) – usefulBee

Problemi correlati