문제
다음과 같은 WPF의 라벨 텍스트에 Newline을 추가하려면 어떻게해야합니까?
<Label>Lorem
ipsum</Label>
해결책
<Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label>
TextBlock은 어린이로 인라인 객체 모음을 수용하기 때문에 TextBlock을 사용해야합니다. 따라서 TextBlock 요소에 세 가지 인라인 항목을 제공합니다 : run text = "lorem", linebreak 및 run text = "ipsum".
다음을 수행 할 수 없습니다.
<Label>Lorem<LineBreak/>ipsum</Label>`
레이블이 하나의 콘텐츠 자식 요소를 수락하기 때문입니다.
또한 유스 케이스가 무엇인지 정확히 확실하지 않지만 라벨 요소 안에 텍스트 블록을 배치했습니다. 반복적입니까? 실제로, 당신의 필요에 따라. 다음은 두 요소의 차이점에 대한 좋은 기사입니다. 레이블과 텍스트 블록의 차이점
다른 팁
WPF에서는 값을 사용할 수 있습니다 " "
또는 "
"
예를 들어:
<Label Content="Lorem ipsum" />
( "10"은 Newline의 ASCII 번호입니다)
또는
<Label Content="Lorem
ipsum" />
( "A"는 16 진수의 Newline의 ASCII 번호입니다)
ViewModel 또는 Model 에서이 작업을 수행 할 때 환경을 사용하는 것이 현지화를 포함하여 가장 일관된 결과를 가지고 있음을 발견했습니다. 보기에서도 직접 작동해야하지만 테스트하지 않았습니다.
예시:
관점에서
<Label Content="{Binding SomeStringObject.ParameterName}" />
ViewModel에서 :
SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";
제휴하지 않습니다 StackOverflow