Подтвердить что ты не робот

Вертикальное выравнивание в текстовом поле 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" />
4b9b3361

Ответ 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" />