¿Cuál es la diferencia "conceptual" entre TextWrapping="Wrap"
y TextWrapping="WrapWithOverflow"
(por ejemplo, para un cuadro de texto)? En la página de MSDN sobre la clase TextBox no hay nada ... Gracias.
¿Cuál es la diferencia "conceptual" entre TextWrapping="Wrap"
y TextWrapping="WrapWithOverflow"
(por ejemplo, para un cuadro de texto)? En la página de MSDN sobre la clase TextBox no hay nada ... Gracias.
Respuestas:
WrapWithOverflow Se produce un salto de línea si la línea se desborda más allá del ancho de bloque disponible. Sin embargo, una línea puede desbordarse más allá del ancho del bloque si el algoritmo de salto de línea no puede determinar una oportunidad de salto de línea, como en el caso de una palabra muy larga restringida en un contenedor de ancho fijo sin desplazamiento permitido.
NoWrap No se realiza el ajuste de línea.
El salto de línea de ajuste se produce si la línea se desborda más allá del ancho de bloque disponible, incluso si el algoritmo de salto de línea estándar no puede determinar ninguna oportunidad de salto de línea, como en el caso de una palabra muy larga restringida en un contenedor de ancho fijo sin desplazamiento permitido.
Espero que esto ayude
WrapWithOverFlow
no romperá palabras, sino que lo Wrap
hará?
Algunos ejemplos:
Esta es la versión original sin envolver:
Esto es NoWrap
.
Esto es Wrap
. Las palabras Remove
y Sample
se han envuelto en ve
y le
, respectivamente, a pesar de que no hay oportunidad de salto de línea.
Esto es WrapWithOverflow
. Los ve
y le
no son visibles (desbordan el ancho de bloque disponible) porque no hay oportunidad de salto de línea. El All
, en ambos casos, se ha envuelto porque el space
personaje es una oportunidad de salto de línea.
Editar:
Como se sugiere en los comentarios, aquí hay algunos ejemplos de cómo Wrap
trata los espacios. Cuando Width
es 100
, Wrap
y WrapWithOverflow
son idénticos. Wrap
trata el espacio entre wider
y example
como una oportunidad de salto de línea, por lo que example
se coloca en una nueva línea para preservar la palabra completa y continua.
Wrap
ignora por completo los espacios en blanco, pero eso no es cierto.
Una cosa para agregar a las otras respuestas, WrapWithOverflow le permite usar el recorte de texto (puntos suspensivos) en las palabras largas que se cortan:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflow
no es compatible con Silverlight. SoloWrap
yNoWrap
son compatibles con Silverlight. msdn.microsoft.com/en-us/library/…