2010-12-15 17 views
27

tengo 2 TextBox es en mi aplicación WPF, uno para el nombre de usuario y otra para la contraseña, ambos tienen FontSize=20, pero el texto aparece así:Alineación vertical en WPF cuadro de texto

¿Cómo puedo ¿arregla esto?

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

¿Qué fuente está utilizando? Puede ser debido a eso. – Donut

+0

No especifiqué ninguno, pero creo que está predeterminado en "Interfaz de usuario de Segoe", pero lo cambié pero sigue siendo el mismo –

+0

. Publique el xaml para los cuadros de texto –

Respuesta

16

Ajuste las propiedades Padding de estos controles, p. 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" /> 

O, no establezca las propiedades Height, y en lugar de dejar que los mismos controles de tamaño automáticamente en función de la altura de su contenido:

<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

tan simple ... gracias !! –

2

has dado explícita Height conjunto de 40TextBox a estos controles.

Quítelo y deje que ocupen suficiente espacio para mostrar su contenido.

<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

para centrar el texto en un cuadro de texto uso la propiedad VerticalContentAlignment del TextBox.

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

He agregado esto porque responde al tema: "Alineación vertical en WPF TextBox". –

+0

Es la respuesta. – Matarata

Cuestiones relacionadas