Come centrare il testo di un'etichetta in WPF?


111

Come centrare il testo di un'etichetta in WPF?


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

Risposte:


211

utilizzare la proprietà HorizontalContentAlignment .

Campione

<Label HorizontalContentAlignment="Center"/>

@Alan puoi aggiornare la tua domanda con il codice XAML contenente quell'etichetta, oltre a uno screenshot di come appare? Perché quella proprietà dovrebbe funzionare ...
Dan J

5
@Alan Nella tua domanda aggiornata stai cercando di impostare 'HorizontalAlignment'.Prova a impostare' HorizontalContentAlignment 'come menzionato nella mia risposta sopra
Funzionerà

4
Come menzionato da user1920925, funziona per le etichette solo quando è presente una singola riga di testo. Per controllare l'allineamento puoi usare un TextBlock invece di un'etichetta e impostare l'attributo TextAlignment su tutto ciò di cui hai bisogno.
Paul Stegler,

WPF 3.5 non mostra questa proprietà, ma quando la digiti, funziona. Grazie.
strider

3
Se hai più righe di contenuto, questo allineerà i bordi sinistri di ogni riga, quindi centrerà l'intero blocco. Se vuoi centrare ogni riga, usa invece un TextBlock e imposta TextAlignment="Center".
Tor Klingberg

7

La classe Control dispone delle proprietà HorizontalContentAlignment e VerticalContentAlignment. Queste proprietà determinano il modo in cui il contenuto di un controllo riempie lo spazio all'interno del controllo.
Impostare HorizontalContentAlignment e VerticalContentAlignment su Center.


3
@Alan, hai usato HorizontalAlignment nel tuo codice. Usa HorizontalContentAlignment per ottenere il comportamento desiderato.
Akshay J

1

Devi usare HorizontalContentAlignment = "Center" e! Width = "Auto".


0

Campione:

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Center;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.