Jaka jest „koncepcyjna” różnica między TextWrapping="Wrap"
i TextWrapping="WrapWithOverflow"
(np. W przypadku TextBox)? Na stronie MSDN o klasie TextBox nie ma nic ... Dziękuję.
170
WrapWithOverflow Łamanie linii występuje, gdy linia przekracza dostępną szerokość bloku. Jednak linia może wykraczać poza szerokość bloku, jeśli algorytm łamania linii nie może określić możliwości podziału wiersza, jak w przypadku bardzo długiego słowa ograniczonego w kontenerze o stałej szerokości bez przewijania.
NoWrap Nie jest wykonywane zawijanie linii.
Zawijanie Łamanie linii występuje, gdy linia przekracza dostępną szerokość bloku, nawet jeśli standardowy algorytm łamania linii nie może określić żadnej możliwości podziału wiersza, jak w przypadku bardzo długiego słowa ograniczonego w kontenerze o stałej szerokości bez przewijania.
Mam nadzieję że to pomoże
WrapWithOverflow
nie jest obsługiwane w Silverlight. TylkoWrap
iNoWrap
są obsługiwane w Silverlight. msdn.microsoft.com/en-us/library/…WrapWithOverFlow
która nie złamie słów, aleWrap
będzie?Kilka przykładów:
To jest oryginalna, rozpakowana wersja:
To jest
NoWrap
.To jest
Wrap
. SłowaRemove
iSample
zostały opakowane odpowiednio nave
ile
, mimo że nie ma możliwości przełamania wiersza.To jest
WrapWithOverflow
. Elementyve
ile
nie są widoczne (przekraczają dostępną szerokość bloku), ponieważ nie ma możliwości podziału wiersza. WAll
obu przypadkachspace
znak został zawinięty, ponieważ znak jest okazją do podziału wiersza.Edytować:
Jak zasugerowano w komentarzach, oto kilka przykładów
Wrap
traktowania spacji. GdyWidth
jest100
,Wrap
iWrapWithOverflow
są identyczne.Wrap
traktuje odstęp pomiędzywider
iexample
jako możliwość podziału wiersza, więcexample
jest umieszczany w nowym wierszu, aby zachować całe, ciągłe słowo.źródło
Wrap
całkowicie ignoruje spacje, ale to nieprawda.Jedną rzeczą do dodania do innych odpowiedzi, WrapWithOverflow umożliwia użycie przycinania tekstu (wielokropka) na długich wyrazach, które są ucinane:
źródło