Как сделать ширину кнопки автофитумой текста кнопки?
В настоящее время я делаю это, но я делаю что-то не так:):
<Style TargetType="{x:Type Button}">
<Setter Property="MinWidth" Value="90" />
<Setter Property="Width" Value="Auto" />
</Style>
Я хочу, чтобы кнопки имели минимальную ширину, а также чтобы их ширина расширялась, чтобы соответствовать тексту кнопки.
Ответы
Ответ 1
Вам нужно установить свойство HorizontalAlignment в центр (или вправо или влево). Кнопки должны растягиваться с помощью панели.
<Style TargetType="{x:Type Button}">
<Setter Property="MinWidth" Value="90" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
Ответ 2
Если установка HorizontalAlignment
не работает, убедитесь, что вы не установили Width
- это не позволит изменять размер кнопки. Удобный трюк устанавливает свойство Width
в NaN
или ..NaN
в зависимости от вашей конфигурации приложения (которая никогда не бросает ошибку компиляции).
Ответ 3
Если вы только установили кнопку MinWidth и если ширина текста больше минимальной, она будет автоматически расширяться, но в обратном случае кнопка будет одинаковой с вашей минимальной шириной,
<Style TargetType="{x:Type Button}">
<Setter Property="MinWidth" Value="90" />
</Style>
этого достаточно, чтобы архивировать до требуемого результата