의견을 보내기위한 앱을 개발 중입니다.
기본적으로 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
동작을.