Qual é a diferença "conceitual" entre TextWrapping="Wrap"
e TextWrapping="WrapWithOverflow"
(por exemplo, para um TextBox)? Na página MSDN sobre a classe TextBox, não há nada ... Obrigado.
Qual é a diferença "conceitual" entre TextWrapping="Wrap"
e TextWrapping="WrapWithOverflow"
(por exemplo, para um TextBox)? Na página MSDN sobre a classe TextBox, não há nada ... Obrigado.
Respostas:
Quebra de linha WrapWithOverflow ocorre se a linha ultrapassar a largura do bloco disponível. No entanto, uma linha pode exceder a largura do bloco se o algoritmo de quebra de linha não puder determinar uma oportunidade de quebra de linha, como no caso de uma palavra muito longa restringida em um contêiner de largura fixa sem rolagem permitida.
NoWrap Nenhuma quebra de linha é executada.
Quebrar quebra de linha ocorre se a linha ultrapassar a largura do bloco disponível, mesmo que o algoritmo de quebra de linha padrão não possa determinar nenhuma oportunidade de quebra de linha, como no caso de uma palavra muito longa restringida em um contêiner de largura fixa sem rolagem permitida.
Espero que isto ajude
WrapWithOverFlow
não quebra palavras, mas quebra Wrap
?
Alguns exemplos:
Esta é a versão original, desembrulhada:
Isto é NoWrap
.
Isto é Wrap
. As palavras Remove
e Sample
foram agrupadas em ve
e le
, respectivamente, mesmo que não haja oportunidade de quebra de linha.
Isto é WrapWithOverflow
. O ve
e le
não são visíveis (eles excedem a largura do bloco disponível) porque não há oportunidade de quebra de linha. O All
, nos dois casos, foi encerrado porque o space
personagem é uma oportunidade de quebra de linha.
Editar:
Conforme sugerido nos comentários, aqui estão alguns exemplos de como Wrap
trata os espaços. Quando Width
é 100
, Wrap
e WrapWithOverflow
são idênticos. Wrap
trata o espaço entre wider
e example
como uma oportunidade de quebra de linha, por isso example
é colocada em uma nova linha para preservar a palavra inteira e contínua.
Wrap
ignora completamente as quebras de espaço em branco, mas isso não é verdade.
Uma coisa a acrescentar às outras respostas, WrapWithOverflow, permite que você use recorte de texto (reticências) nas palavras longas cortadas:
<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
WrapWithOverflow
não há suporte no Silverlight. ApenasWrap
eNoWrap
são suportados no Silverlight. msdn.microsoft.com/pt-br/library/…