Was ist der "konzeptionelle" Unterschied zwischen TextWrapping="Wrap"und TextWrapping="WrapWithOverflow"(z. B. für eine TextBox)? Auf der MSDN-Seite über die Klasse TextBox gibt es nichts ... Danke.
Was ist der "konzeptionelle" Unterschied zwischen TextWrapping="Wrap"und TextWrapping="WrapWithOverflow"(z. B. für eine TextBox)? Auf der MSDN-Seite über die Klasse TextBox gibt es nichts ... Danke.
Antworten:
WrapWithOverflow Zeilenumbruch tritt auf, wenn die Zeile über die verfügbare Blockbreite hinaus überläuft. Eine Zeile kann jedoch über die Blockbreite hinaus überlaufen, wenn der Zeilenumbruchalgorithmus keine Zeilenumbruchmöglichkeit ermitteln kann, wie im Fall eines sehr langen Wortes, das in einem Container mit fester Breite ohne zulässiges Scrollen eingeschränkt ist.
NoWrap Es wird kein Zeilenumbruch durchgeführt.
Wrap Zeilenumbruch tritt auf, wenn die Leitung über die verfügbare Blockbreite überläuft, auch wenn der Standard - Zeilenumbruch - Algorithmus keine Zeilenumbruch Gelegenheit bestimmen kann, wie im Fall eines sehr langen Wortes gezwungen , sich in einem mit fester Breite Behälter mit nicht erlaubt Scrollen.
Hoffe das hilft
WrapWithOverFlowdie keine Worte bricht, sondern Wrapwird?
Einige Beispiele:
Dies ist die ursprüngliche, unverpackte Version:

Das ist NoWrap.

Das ist Wrap. Die Wörter Removeund Samplewurden am veund umbrochen le, obwohl es keine Möglichkeit für Zeilenumbrüche gibt.

Das ist WrapWithOverflow. Die veund lesind nicht sichtbar (sie überlaufen die verfügbare Blockbreite), da keine Möglichkeit für Zeilenumbrüche besteht. Das Allwurde in beiden Fällen umbrochen, da das spaceZeichen eine Möglichkeit für Zeilenumbrüche darstellt.

Bearbeiten:
Wie in den Kommentaren vorgeschlagen, finden Sie hier einige Beispiele für den Umgang mit WrapLeerzeichen. Wenn Widthist 100, Wrapund WrapWithOverflowsind identisch. Wrapbehandelt den Abstand zwischen widerund exampleals Zeilenumbruchmöglichkeit und wird daher examplein eine neue Zeile eingefügt, um das gesamte fortlaufende Wort zu erhalten.

WrapLeerzeichen vollständig ignoriert werden, aber das stimmt nicht.
Eine Sache, die Sie zu den anderen Antworten hinzufügen können: Mit WrapWithOverflow können Sie Textausschnitte (Auslassungspunkte) für die langen Wörter verwenden, die abgeschnitten werden:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflowsie in Silverlight nicht unterstützt wird. NurWrapundNoWrapwerden in Silverlight unterstützt. msdn.microsoft.com/en-us/library/…