Quelle est la différence «conceptuelle» entre TextWrapping="Wrap"
et TextWrapping="WrapWithOverflow"
(par exemple pour un TextBox)? Dans la page MSDN sur la classe TextBox, il n'y a rien ... Merci.
Quelle est la différence «conceptuelle» entre TextWrapping="Wrap"
et TextWrapping="WrapWithOverflow"
(par exemple pour un TextBox)? Dans la page MSDN sur la classe TextBox, il n'y a rien ... Merci.
Réponses:
WrapWithOverflow Un saut de ligne se produit si la ligne déborde au-delà de la largeur de bloc disponible. Cependant, une ligne peut déborder au-delà de la largeur du bloc si l'algorithme de saut de ligne ne peut pas déterminer une opportunité de saut de ligne, comme dans le cas d'un mot très long contraint dans un conteneur de largeur fixe sans défilement autorisé.
NoWrap Aucun retour à la ligne n'est effectué.
Wrap Le saut de ligne se produit si la ligne déborde au-delà de la largeur de bloc disponible, même si l'algorithme de saut de ligne standard ne peut déterminer aucune opportunité de saut de ligne, comme dans le cas d'un mot très long contraint dans un conteneur de largeur fixe sans défilement autorisé.
J'espère que cela t'aides
WrapWithOverFlow
ne cassera pas les mots, mais qui le Wrap
fera?
Quelques exemples:
Voici la version originale non emballée:
C'est ça NoWrap
.
C'est ça Wrap
. Les mots Remove
et Sample
ont été encapsulés au ve
et le
, respectivement, même s'il n'y a pas d'opportunité de saut de ligne.
C'est ça WrapWithOverflow
. Les ve
et le
ne sont pas visibles (ils dépassent la largeur de bloc disponible) car il n'y a pas d'opportunité de saut de ligne. Le All
, dans les deux cas, a été encapsulé car le space
caractère est une opportunité de saut de ligne.
Éditer:
Comme suggéré dans les commentaires, voici quelques exemples de Wrap
traitement des espaces. Quand Width
est 100
, Wrap
et WrapWithOverflow
sont identiques. Wrap
traite l'espace entre wider
et example
comme une opportunité de saut de ligne, ainsi example
est placé sur une nouvelle ligne pour conserver le mot entier et continu.
Wrap
ignore complètement les sauts d'espaces, mais ce n'est pas vrai.
Une chose à ajouter aux autres réponses, WrapWithOverflow vous permet d'utiliser le rognage de texte (points de suspension) sur les mots longs qui sont coupés:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflow
n'est pas prise en charge dans Silverlight. UniquementWrap
etNoWrap
sont pris en charge dans Silverlight. msdn.microsoft.com/en-us/library/…