[wpf] WPF TextBox의 여러 줄

의견을 보내기위한 앱을 개발 중입니다.

기본적으로 TextBox주석을 작성 하려고 하지만 WinForms에 익숙합니다 MultiLine=true. 내가 설정했습니다MinLines 3으로 했지만 거기에 도달하는 것이 좋지만 사용자 가이 블록의 어디에서나 입력 할 수 있다면 좋아합니다. 예를 들면 다음과 같습니다.

- Item 1        blah
- Item 2                blahlb lahbvl   d

그러나 현재 텍스트는 모두 한 줄로 유지됩니다.

- Item 1         blah - Item 2                      blahb blahb blah

이러한 의견은 이메일 본문을 작성하는 데 도움이됩니다. 이 문자열을 전자 메일 본문 문자열에 넣을 때 같은 형식을 쉽게 유지할 수 없다면 의미가 없을 수 있습니다 (입력 할 때와 같이 보낼 때와 같이 보입니다).

내가 추구하는 것을 달성 할 수 있습니까? 아니면 한 줄에 모든 텍스트로 남겨 두어야합니까?



답변

사용 TextWrapping="Wrap"하고 AcceptsReturn="True"당신의 텍스트 상자에.

또한 활성화 AcceptsTab하고 싶을 수도 있습니다 SpellCheck.IsEnabled.


답변

또한 나와 같이 편집기를 사용하지 않고 XAML에 직접 컨트롤을 추가하면 두 속성을 설정 한 후에도 사용 가능한 높이로 늘어나지 않을 수 있습니다.

TextBox를 늘리려면을 설정하십시오 Height="Auto".

최신 정보:

돌이켜 보면 앱 리소스 어딘가에 응용 프로그램의 높이를 표준으로 지정하는 TextBox의 기본 스타일 덕분에 이것이 필요했을 것입니다. 이것이 도움이된다면 이것을 확인하는 것이 좋습니다.


답변

다음은 여러 줄 텍스트를 허용하고 자체 스크롤 막대를 사용 하는 샘플 XAML입니다 TextBox.

<TextBox
Height="200"
Width="500"
TextWrapping="Wrap"
AcceptsReturn="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"/>


답변

@Andre Luus와 달리 설정 Height="Auto"이 늘어나지 않습니다 TextBox. 내가 찾은 해결책은 설정하는 것이 었습니다.VerticalAlignment="Stretch"


답변

전용 속성 받는 WPF에 대응

Winforms 속성 :TextBox.Multiline = true

는 IS WPF의 속성 : TextBox.AcceptsReturn = true.

<TextBox AcceptsReturn="True" ...... />

같은 다른 모든 설정, VerticalAlignement, WordWrap등 만 UI에서 텍스트 상자의 상호 작용이 있지만, 영향을주지 않는 방법을 제어 Multiline동작을.


답변