我的wpf应用中有2 TextBox
个es,一个用于用户名,另一个用于密码,两者都有FontSize=20
,但文字显示如下:
我该如何解决这个问题?
的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 :(得分:121)
要使TextBox中的文本居中,请使用TextBox的VerticalContentAlignment属性。
<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" />
答案 1 :(得分:19)
调整这些控件的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 :(得分:2)
您已将这些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" />
答案 3 :(得分:0)
之所以这样做,是因为您已明确指定 FontSize 属性和 Height 。 FontSize较大的文本不能适合给定的高度。 因此,有两种解决方案
<TextBox Grid.Row="1"
Grid.Column="1"
BorderThickness="1"
BorderBrush="#FFD5D5D5"
FontSize="36"
Text="test" />
<TextBox Grid.Row="1"
Grid.Column="1"
Height="40"
BorderThickness="1"
BorderBrush="#FFD5D5D5"
FontSize="24"
Text="test" />