WPF 텍스트 줄 바꿈 및 줄 바꿈


170

TextWrapping="Wrap"TextWrapping="WrapWithOverflow"(예 : TextBox) 의 "개념적"차이점은 무엇입니까 ? TextBox 클래스에 대한 MSDN 페이지에는 아무것도 없습니다 ... 감사합니다.

답변:


187

MSDN

WrapWithOverflow 줄이 사용 가능한 블록 너비를 초과하면 줄 바꿈이 발생합니다. 그러나 스크롤이 허용되지 않는 고정 너비 컨테이너에 제한된 단어가 제한된 경우와 같이 줄 바꿈 알고리즘이 줄 바꿈 기회를 결정할 수없는 경우 줄 너비가 블록 너비를 초과하여 초과 될 수 있습니다.
NoWrap 줄 바꿈이 수행되지 않습니다.
표준 줄 바꿈 알고리즘이 어떤 줄 바꿈 기회를 확인할 수없는 경우에도 라인이 더 허용 스크롤링과 고정 폭 용기에 제약이 매우 긴 단어의 경우처럼, 사용 가능한 블록 폭 이상으로 넘칠 경우, 라인 파괴가 발생합니다.

도움이 되었기를 바랍니다


11
이 질문은 WPF에 관한 것이지만 WrapWithOverflowSilverlight에서는 지원되지 않는 것이 좋습니다. 단지 WrapNoWrap실버 라이트에서 지원됩니다. msdn.microsoft.com/ko-kr/library/…
blachniet

3
나는 이것을 읽고 여전히 차이를 확신하지 못한다. WrapWithOverFlow단어를 깰 것이 아니라 Wrap의지 하는 기본 아이디어 입니까?
Brian J

6
@BrianJ-몇 가지 예는 내 대답을 참조하십시오.
ken

317

몇 가지 예 :

이것은 원래의 래핑되지 않은 버전입니다.

포장 없음


이것은입니다 NoWrap.

랩


이것은입니다 Wrap. 단어 RemoveSample상기 포장 된 vele줄 바꿈 기회가 없다하더라도, 각각.

싸다


이것은입니다 WrapWithOverflow. vele더 줄 바꿈 기회가 없기 때문에 (그들이 사용 가능한 블록의 폭을 오버플로) 볼 수 없습니다. 는 All때문에, 두 경우 모두, 포장 된 space문자가 줄 바꿈 기회입니다.

WrapWithOverflow


편집하다:

주석에서 제안한대로 Wrap공백을 처리 하는 방법에 대한 몇 가지 예가 있습니다. 경우는 Width이고 100, WrapWrapWithOverflow동일하다. Wrap취급 사이의 공간 widerexample그래서 줄 바꿈 기회로, example전체, 연속 단어를 보존하기 위해 새 줄에 배치됩니다.

여기에 이미지 설명을 입력하십시오


5
이 대답은 유효한 공백 나누기가있는 각 모드에 하나 이상의 (더 넓은) 버튼 예제를 포함시키는 것이 좋습니다. 한눈에, Wrap공백 나누기 를 완전히 무시 한다는 것을 의미 하지만 사실이 아닙니다.
Scott Stafford

8

다른 답변에 추가해야 할 한 가지 WrapWithOverflow를 사용하면 잘리는 긴 단어에 텍스트 트리밍 (줄임표)을 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오

<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
    A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.