Как центрировать текст метки в WPF?

111

Как центрировать текст метки в WPF?


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

alansiqueira27
источник

Ответы:

211

используйте свойство HorizontalContentAlignment .

Образец

<Label HorizontalContentAlignment="Center"/>
биджу
источник
@Alan, можете ли вы обновить свой вопрос с помощью XAML, содержащего эту метку, плюс снимок экрана, показывающий, как это выглядит? Потому что это свойство должно работать ...
Дэн Дж.
5
@Alan В своем обновленном вопросе вы пытаетесь установить HorizontalAlignment. Попробуйте установить HorizontalContentAlignment, как указано в моем ответе выше. Это будет работать
biju
4
Как упоминал user1920925, это работает для ярлыков, только когда есть одна строка текста. Для управления выравниванием вы можете использовать TextBlock вместо метки и установить для атрибута TextAlignment все, что вам нужно.
Пол Стеглер,
WPF 3.5 не показывает это свойство, но когда вы просто вводите его, оно работает. Спасибо.
Strider
3
Если у вас есть несколько строк содержимого, это выровняет левые края каждой строки, а затем центрирует весь блок. Если вы хотите центрировать каждую строку, используйте вместо этого TextBlock и установите TextAlignment="Center".
Тор Клингберг
7

Класс Control имеет свойства HorizontalContentAlignment и VerticalContentAlignment. Эти свойства определяют, как содержимое элемента управления заполняет пространство внутри элемента управления.
Установите для HorizontalContentAlignment и VerticalContentAlignment значение «Центр».

Акшай Дж.
источник
3
@Alan, вы использовали HorizontalAlignment в своем коде. Используйте HorizontalContentAlignment, чтобы получить желаемое поведение.
Akshay J
1

Вы должны использовать HorizontalContentAlignment = "Center" и! Ширина = "Авто".

Комбинатор
источник
0

Образец:

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Center;
Newred
источник