Qual è la differenza "concettuale" tra TextWrapping="Wrap"
e TextWrapping="WrapWithOverflow"
(ad esempio per un TextBox)? Nella pagina MSDN sulla classe TextBox non c'è nulla ... Grazie.
Qual è la differenza "concettuale" tra TextWrapping="Wrap"
e TextWrapping="WrapWithOverflow"
(ad esempio per un TextBox)? Nella pagina MSDN sulla classe TextBox non c'è nulla ... Grazie.
Risposte:
WrapWithOverflow La interruzione di linea si verifica se la linea trabocca oltre la larghezza del blocco disponibile. Tuttavia, una linea può traboccare oltre la larghezza del blocco se l'algoritmo di interruzione di linea non è in grado di determinare un'opportunità di interruzione di linea, come nel caso di una parola molto lunga vincolata in un contenitore a larghezza fissa senza scorrimento consentito.
NoWrap Non viene eseguito alcun avvolgimento di riga.
La fine della linea a capo si verifica se la linea trabocca oltre la larghezza del blocco disponibile, anche se l'algoritmo di interruzione di linea standard non è in grado di determinare alcuna opportunità di interruzione di linea, come nel caso di una parola molto lunga vincolata in un contenitore a larghezza fissa senza scorrimento consentito.
Spero che questo ti aiuti
WrapWithOverFlow
non romperà le parole, ma lo Wrap
farà?
Qualche esempio:
Questa è la versione originale da scartare:
Questo è NoWrap
.
Questo è Wrap
. Le parole Remove
e Sample
sono state racchiuse in ve
e le
, rispettivamente, anche se non vi è alcuna opportunità di interruzione di riga.
Questo è WrapWithOverflow
. I ve
e le
non sono visibili (superano la larghezza del blocco disponibile) perché non esiste alcuna opportunità di interruzione di riga. Il All
, in entrambi i casi, è stato racchiuso perché il space
personaggio è un'opportunità di interruzione di riga.
Modificare:
Come suggerito nei commenti, ecco alcuni esempi di come Wrap
tratta gli spazi. Quando Width
è 100
, Wrap
e WrapWithOverflow
sono identici. Wrap
considera lo spazio tra wider
e example
come un'opportunità di interruzione di riga, quindi example
viene inserito in una nuova riga per preservare l'intera parola continua.
Wrap
ignora completamente le interruzioni degli spazi bianchi, ma ciò non è vero.
Una cosa da aggiungere alle altre risposte, WrapWithOverflow ti consente di usare il taglio del testo (puntini di sospensione) sulle parole lunghe che vengono tagliate:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflow
non è supportato in Silverlight. SoloWrap
eNoWrap
sono supportati in Silverlight. msdn.microsoft.com/en-us/library/...