Выравнивание по вертикали в текстовом поле WPF - PullRequest
36 голосов
/ 15 декабря 2010

У меня есть 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" />

Ответы [ 3 ]

122 голосов
/ 07 июля 2013

Для центрирования текста в TextBox используйте свойство VerticalContentAlignment TextBox.

<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" />
20 голосов
/ 15 декабря 2010

Отрегулируйте свойства 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 голосов
/ 15 декабря 2010

Вы дали явное 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" />
...