¿Cómo centrar el texto de una etiqueta en WPF?

111

¿Cómo centrar el texto de una etiqueta en WPF?


Label HorizontalAlignment="Center" Content="What?" FontSize="25" FontWeight="Bold" Canvas.Top="5"

alansiqueira27
fuente

Respuestas:

211

use la propiedad HorizontalContentAlignment .

Muestra

<Label HorizontalContentAlignment="Center"/>
biju
fuente
@Alan, ¿puedes actualizar tu pregunta con el XAML que contiene esa etiqueta, además de una captura de pantalla de cómo se ve? Porque esa propiedad debería funcionar ...
Dan J
5
@Alan En su pregunta actualizada, está tratando de establecer 'HorizontalAlignment'.Intenta configurar' HorizontalContentAlignment 'como se menciona en mi respuesta anterior.Funcionará
biju
4
Como mencionó user1920925, esto funciona para etiquetas solo cuando hay una sola línea de texto. Para controlar la alineación, puede usar un TextBlock en lugar de una etiqueta y establecer el atributo TextAlignment en lo que necesite.
Paul Stegler
WPF 3.5 no muestra esta propiedad, pero cuando la escribe, funciona. Gracias.
strider
3
Si tiene varias líneas de contenido, esto alineará los bordes izquierdos de cada línea y luego centrará todo el bloque. Si desea centrar cada línea, use un TextBlock en su lugar y configure TextAlignment="Center".
Tor Klingberg
7

La clase Control tiene propiedades HorizontalContentAlignment y VerticalContentAlignment. Estas propiedades determinan cómo el contenido de un control llena el espacio dentro del control.
Establezca HorizontalContentAlignment y VerticalContentAlignment en Center.

Akshay J
fuente
3
@Alan, ha utilizado HorizontalAlignment en su código. Utilice HorizontalContentAlignment para obtener el comportamiento deseado.
Akshay J
1

Tienes que usar HorizontalContentAlignment = "Center" y! Ancho = "Auto".

Kombinator
fuente
0

Muestra:

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Center;
Newred
fuente