Jak wyśrodkować tekst etykiety w WPF?

111

Jak wyśrodkować tekst etykiety w WPF?


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

alansiqueira27
źródło

Odpowiedzi:

211

użyj właściwości HorizontalContentAlignment .

Próba

<Label HorizontalContentAlignment="Center"/>
biju
źródło
@Alan, czy możesz zaktualizować swoje pytanie za pomocą kodu XAML zawierającego tę etykietę oraz zrzutu ekranu, jak to wygląda? Ponieważ ta nieruchomość powinna działać ...
Dan J
5
@Alan W swoim zaktualizowanym pytaniu próbujesz ustawić `` HorizontalAlignment '' Spróbuj ustawić `` HorizontalContentAlignment '', jak wspomniano w mojej odpowiedzi powyżej.To zadziała
biju
4
Jak wspomniał user1920925, działa to w przypadku etykiet tylko wtedy, gdy istnieje jeden wiersz tekstu. Aby kontrolować wyrównanie, możesz użyć TextBlock zamiast etykiety i ustawić atrybut TextAlignment na dowolne potrzebne.
Paul Stegler
WPF 3.5 nie pokazuje tej właściwości, ale po jej wpisaniu działa. Dzięki.
strider
3
Jeśli masz wiele wierszy treści, spowoduje to wyrównanie lewych krawędzi każdego wiersza, a następnie wyśrodkowanie całego bloku. Jeśli chcesz wyśrodkować każdą linię, użyj zamiast tego TextBlock i ustaw TextAlignment="Center".
Tor Klingberg
7

Klasa Control ma właściwości HorizontalContentAlignment i VerticalContentAlignment. Te właściwości określają, w jaki sposób zawartość kontrolki wypełnia miejsce w kontrolce.
Ustaw HorizontalContentAlignment i VerticalContentAlignment na Center.

Akshay J
źródło
3
@Alan, Użyłeś w swoim kodzie HorizontalAlignment. Użyj HorizontalContentAlignment, aby uzyskać pożądane zachowanie.
Akshay J
1

Musisz użyć HorizontalContentAlignment = "Center" i! Szerokość = „Auto”.

Kombinator
źródło
0

Próba:

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Center;
Newred
źródło