sourcetip

WPF 텍스트 상자의 수직 정렬

fileupload 2023. 5. 18. 21:26
반응형

WPF 텍스트 상자의 수직 정렬

2개 있습니다.TextBoxes 내 wpf 앱에서, 하나는 사용자 이름을 위한 것이고 다른 하나는 비밀번호를 위한 것, 둘 다.FontSize=20그러나 텍스트는 다음과 같습니다.

alt 텍스트

이걸 어떻게 고칠 수 있을까요?

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

텍스트 중심을 수직으로 맞추려면TextBox을 사용합니다.VerticalContentAlignment속성:

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

조정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" />

명시적으로 지정했습니다.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 속성과 높이를 명시적으로 지정했기 때문입니다.글꼴 크기가 큰 텍스트는 지정된 높이에 들어갈 수 없습니다.이를 위한 몇 가지 솔루션이 있습니다.

  1. TextBox의 높이를 60으로 늘립니다(그러나 이렇게 하면 UI에서 보기 좋지 않을 수 있는 높이의 TextBox가 생성됩니다).또는 높이 속성을 건너뛰기만 하면 필요한 최소 공간을 자동으로 차지할 수 있습니다.
    <TextBox Grid.Row="1"
             Grid.Column="1"
             BorderThickness="1" 
             BorderBrush="#FFD5D5D5" 
             FontSize="36" 
             Text="test" />
  1. 텍스트가 높이가 40인 텍스트 상자에 들어갈 수 있도록 글꼴 크기 줄이기
    <TextBox Grid.Row="1"
             Grid.Column="1"
             Height="40"
             BorderThickness="1" 
             BorderBrush="#FFD5D5D5" 
             FontSize="24" 
             Text="test" />

이것을 먹어보세요.VerticalContentAlignment="Center"텍스트 상자에

언급URL : https://stackoverflow.com/questions/4453175/vertical-align-in-wpf-textbox

반응형