2010-12-15 72 views
27

J'ai 2 TextBox es dans mon application WPF, un nom d'utilisateur et d'autres pour le mot de passe, les deux ont FontSize=20, mais le texte apparaît comme ceci:vertical Aligner WPF TextBox

Comment puis-je répare ça?

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" /> 
+0

Quelle police utilisez-vous? Cela peut être dû à cela. – Donut

+0

Je n'en ai pas spécifié, mais je pense qu'il est par défaut "Segoe UI", mais je l'ai changé mais il reste le même –

+0

S'il vous plaît poster le xaml pour les TextBoxes –

Répondre

16

Ajustez les propriétés Padding de ces contrôles, par ex. 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 au lieu de laisser les contrôles eux-mêmes la taille 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" /> 
+0

si simple ... merci !! –

2

Vous avez donné explicitement Height ensemble à 40 à ces contrôles TextBox.

Veuillez le supprimer et laissez-leur suffisamment d'espace pour afficher 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" /> 
86

Pour centrer le texte dans une utilisation TextBox la propriété VerticalContentAlignment du TextBox.

<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" /> 
+2

J'ai ajouté cela car il répond au sujet: "Alignement vertical dans WPF TextBox". –

+0

C'est la réponse. – Matarata