2010-10-19 43 views
45

Es posible agregar un borde a un bloque de texto. Necesito que se agregue en la propiedad setter a continuación código:WPF Agregar un borde a un TextBlock

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

Utilice un cuadro de texto en su lugar. –

Respuesta

86

No, debe ajustar su TextBlock en un borde. Ejemplo:

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

Por supuesto, se puede establecer estas propiedades (BorderThickness, BorderBrush) a través de estilos, así:

<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 en realidad no heredar de control por lo que no tiene propiedades que se generalmente se asociaría con un Control. Su mejor opción para añadir una frontera en un estilo consiste en sustituir el TextBlock con una etiqueta

Ver this link para más información sobre las diferencias entre un TextBlock y otros controles

+2

Excelente respuesta, prefiero tener que introducir otro control/borde a su alrededor. wow desde 2010 y sigue siendo válido :) – usefulBee

Cuestiones relacionadas