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ę.
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ę.
Odpowiedzi:
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
WrapWithOverFlowktóra nie złamie słów, ale Wrapbędzie?
Kilka przykładów:
To jest oryginalna, rozpakowana wersja:

To jest NoWrap.

To jest Wrap. Słowa Removei Samplezostały opakowane odpowiednio na vei le, mimo że nie ma możliwości przełamania wiersza.

To jest WrapWithOverflow. Elementy vei lenie są widoczne (przekraczają dostępną szerokość bloku), ponieważ nie ma możliwości podziału wiersza. W Allobu przypadkach spaceznak został zawinięty, ponieważ znak jest okazją do podziału wiersza.

Edytować:
Jak zasugerowano w komentarzach, oto kilka przykładów Wraptraktowania spacji. Gdy Widthjest 100, Wrapi WrapWithOverflowsą identyczne. Wraptraktuje odstęp pomiędzy wideri examplejako możliwość podziału wiersza, więc examplejest umieszczany w nowym wierszu, aby zachować całe, ciągłe słowo.

Wrapcał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:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflownie jest obsługiwane w Silverlight. TylkoWrapiNoWrapsą obsługiwane w Silverlight. msdn.microsoft.com/en-us/library/…