Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > WPF и Silverlight > Выравнивание текста по центру внутри кнопки? |
Автор: exBlender 2.9.2010, 22:10 |
Есть кнопка с иконкой и текстом (вроде тех, что в MS Office). В темплейте этой кнопки ContentPresenter служит для размещения иконки, а для названия имеется TextBox. Если название из двух строчек (wrapped), то короткая строчка прижимается к левому краю, т.е. HorizontalContentAlignment="Center" не работает. Внутри темплейта кнопки нет ничего, что могло бы задать выравнивание по левому краю. Если вытащить этот TextBox из темплейта и разместить где-нибудь в другом месте, то короткая строчка выравнивается по центру. Есть ли у кого-нибудь идеи, почему темплейт загоняет выравнивание влево? Тнх. |
Автор: SKrivosein 2.9.2010, 23:08 |
Не совсем понял как оно у тебя организовано. А попробовать внутри кнопки кинуть Grid с сеткой а туда всё остальное? |
Автор: exBlender 3.9.2010, 17:58 |
У меня внутрь кнопки много чего напихано, но если вычленить проблему, то вот она: Возьмем стандартный темплейт кнопки. В нем - ContentPresenter, который, к примеру, содержит TextBlock, выровненный по центру. Это название кнопки, создающееся динамически. Название состоит из 2 слов, короткого и длинного. Длина кнопки ограничена, и если название получается слишком длинным, слова выстраиваются в 2 строчки. При этом то слово, что длиннее, определяет длину TextBlock-а и выстраивается горизонтально точно по центру, но короткое слово съезжает левее центра и подравнивается по левому краю длинного. Я ищу простой метод выравнивания короткого слова точно по горизонтали, желательно только средствами xaml (без C#). |
Автор: SKrivosein 3.9.2010, 18:16 |
Добавь в разметку техт бокса TextAlignment="Center", вроде как всё ![]() |
Автор: exBlender 3.9.2010, 18:28 |
Да, это оно, спасибо ![]() Только в случае техт бокса HorizontalContentAlignment внутри темплейта не работало, а TextBlock TextAlignment="Center" работает. Я редко общаюсь с текст-блоками, не знал. |
Автор: SKrivosein 3.9.2010, 18:48 |
Мы http://forum.vingrad.ru/forum/topic-290486/anchor-entry2090554/0.html ![]() |