it-swarm.it

Testo WPF Wrap vs WrapWithOverflow

Qual è la differenza "concettuale" tra TextWrapping="Wrap" e TextWrapping="WrapWithOverflow" (ad es. per una TextBox)? Nella pagina MSDN sulla classe TextBox non c'è nulla ... Grazie.

160

[~ ~ #] MSDN [~ ~ #]

WrapWithOverflow L'interruzione della 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.
A capo L'interruzione di linea 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 interruzione di linea opportunità, come nel caso di una Word molto lunga vincolata in un contenitore a larghezza fissa senza scorrimento consentito.

Spero che sia di aiuto

181
Arsen Mkrtchyan

Qualche esempio:

Questa è la versione originale da scartare:

No wrapping


Questo è NoWrap.

NoWrap


Questo è Wrap. Le parole Remove e Sample sono state racchiuse rispettivamente in ve e le, anche se non esiste alcuna opportunità di interruzione di riga.

Wrap


Questo è WrapWithOverflow. 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 carattere space è un'opportunità di interruzione di riga.

WrapWithOverflow


Edit:

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 .

enter image description here

295
ken

Una cosa da aggiungere alle altre risposte, WrapWithOverflow ti consente di utilizzare il taglio del testo (Ellissi) sulle parole lunghe che vengono tagliate:

enter image description here

<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
    A really long Word is antidisestablishmentarianism and we can use Ellipsis trimming.
</TextBlock>
0
Vimes