2011-04-03 12 views
7

Hola Guyz Tengo un WPF TextBlock de ancho fijo digamos 100, Si la cadena no encaja en el ancho, el último carácter se corta siempre, ya que todos los caracteres no son del mismo tamaño. No quiero cortar el personaje en su lugar, quiero omitir el texto desde allí y simplemente mostrar el texto sin límite de caracteres.WPF TextBlock Cutoff

Respuesta

1

Supongo que realmente no entiendo su caso de uso aquí. Mi primera sugerencia sería simplemente dimensionar dinámicamente tu TextBlock. Si eso no es posible, entonces tendrá que obtener el ancho de la cadena y manipularla usted mismo antes de configurarla en el TextBlock (o usar una fuente de ancho fijo suponiendo que puede y conoce la longitud máxima de la cadena).

Si necesita medir el ancho de la cadena antes de que se muestre, puede usar el FormattedText class para hacerlo.

13

usted tiene un par de opciones para controlar el ajuste y el corte de texto:

  • TextWrapping se puede utilizar para hacer que el flujo de texto a la línea siguiente
  • TextTrimming se puede utilizar para decidir cómo cortar texto que no encaja

TextTrimming=None (por defecto) significará que el texto que no encaja se oculta, pero puede cortar por la mitad de un personaje, que suena como el problema que usted describe.

TextTrimming=WordEllipsis o TextTrimming=CharacterEllipsis evitará mostrar medio carácter, pero agregará "..." al final del texto. Eso probablemente se verá mejor para los usuarios.

Si desea cortar los caracteres adicionales sin agregar puntos suspensivos, tendría que utilizar la técnica Ed S. que se describe

Cuestiones relacionadas