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"

Odpowiedzi:


211

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

Próba

<Label HorizontalContentAlignment="Center"/>

@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.


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”.


0

Próba:

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Center;
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.