Вертикальное выравнивание в текстовом поле WPF
У меня есть 2 TextBox
es в моем приложении wpf, одно для имени пользователя и другое для пароля, оба имеют FontSize=20
, но текст выглядит следующим образом:
![alt text]()
Как я могу это исправить?
Xaml:
<TextBox Grid.Row="1" Grid.Column="1" Height="40" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Text="test" />
<PasswordBox Grid.Row="3" Grid.Column="1" Height="40" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Password="test" />
Ответы
Ответ 1
Отрегулируйте свойства Padding
этих элементов управления, например. Padding="0"
:
<TextBox Grid.Row="1" Grid.Column="1" Height="40" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Text="test" Padding="0" />
<PasswordBox Grid.Row="3" Grid.Column="1" Height="40" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Password="test" Padding="0" />
Или не устанавливайте свойства Height
, а вместо этого сами элементы управления автоматически настраиваются на основе высоты их содержимого:
<TextBox Grid.Row="1" Grid.Column="1" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Text="test" />
<PasswordBox Grid.Row="3" Grid.Column="1" BorderThickness="1" BorderBrush="#FFD5D5D5" FontSize="36" Password="test" />
Ответ 2
Чтобы центрировать текст в TextBox, используйте свойство VerticalContentAlignment для TextBox.
<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" />
Ответ 3
Вы указали явным Height
, установленным в 40
, этим элементам TextBox
.
Удалите его и дайте им достаточно места, чтобы показать их содержимое.
<TextBox Grid.Row="1"
Grid.Column="1"
BorderThickness="1"
BorderBrush="#FFD5D5D5"
FontSize="36"
Text="test" />
<PasswordBox Grid.Row="3"
Grid.Column="1"
BorderThickness="1"
BorderBrush="#FFD5D5D5"
FontSize="36"
Password="test" />