我在wpf应用程序中有2个TextBox
,一个是用户名,另一个是密码,但是都显示为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" />
调整这些控件的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" />
要使文本在TextBox中居中,请使用TextBox的VerticalContentAlignment属性。
<TextBox Text="The text" Height="40" VerticalContentAlignment="Center" />
您已将这些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" />
之所以这样,是因为您已经明确指定了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" />