web-dev-qa-db-fra.com

Alignement vertical dans WPF TextBox

J'ai 2 TextBoxes dans mon application wpf, une pour le nom d'utilisateur et l'autre pour le mot de passe, les deux ont FontSize=20, mais le texte apparaît comme ceci:

alt text

Comment puis-je réparer cela?

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" />
38
開発者

Ajustez les propriétés Padding de ces contrôles, par exemple 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" />

Ou, ne définissez pas les propriétés Height et laissez plutôt les contrôles se redimensionner automatiquement en fonction de la hauteur de leur contenu:

<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" />
22
Donut

Pour centrer le texte dans une zone de texte, utilisez la propriété VerticalContentAlignment de la zone de texte.

<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" />
123
Tal Segal

Vous avez donné explicitement Height défini sur 40 à ces contrôles TextBox.

Veuillez le supprimer et lui laisser suffisamment d'espace pour afficher son contenu.

<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
decyclone