Me gustaría modificar el espaciado entre caracteres en un WPF TextBox.
Algo como el letter-spacing: 5px
cosa que está disponible en CSS.
Creo que es posible en XAML; ¿Cuál es la manera más simple?¿Cómo puedo especificar el espaciado entre letras o el kerning en un WPF TextBox?
Encontré el documento "Introduction to the GlyphRun Object and Glyphs Element", y encontré que era excesivamente inútil.
Este es un ejemplo de código de esa página:
<!-- "Hello World!" with explicit character widths for proportional font -->
<Glyphs
FontUri = "C:\WINDOWS\Fonts\ARIAL.TTF"
FontRenderingEmSize = "36"
UnicodeString = "Hello World!"
Indices = ",80;,80;,80;,80;,80;,80;,80;,80;,80;,80;,80"
Fill = "Maroon"
OriginX = "50"
OriginY = "225"
/>
La misma página de documentación da esta "explicación" de lo que hace la propiedad Indices
:
no tengo ni idea de lo cualquiera de eso significa. Tampoco estoy seguro de que Índices sea lo correcto: el comentario en el código habla de "anchos de caracteres" que no me importan. Quiero ajustar el ancho entre caracteres.
Además, no hay ningún ejemplo de cómo aplicar un elemento Glyphs
a un TextBox. Cuando lo probé, mi aplicación de prueba WPF simplemente se colgó.
Lo que quiero hacer es aumentar ligeramente el espacio vacío que aparece entre los personajes dibujados dentro de un cuadro de texto WPF. El texto variará en longitud y contenido. ¿Debo modificar la propiedad Indicies
cada vez que hay un nuevo personaje? ¿Hay alguna manera de decir "hacer un 20% más de espacio de lo habitual para cada personaje"?
¿Alguien me puede ayudar?
Esta es una buena solución (ya lo voté), pero esto definitivamente puede causar problemas de rendimiento. Usamos esta solución en algunos lugares, pero queríamos usarla en un 'ItemsControl' con unos cientos de artículos y estaba agregando varios segundos al tiempo de renderizado. Volvimos a un 'TextBlock' normal en esos escenarios. ¡Así que ten en cuenta/cuidado! –
Esto también romperá la capacidad de recortar o ajustar el texto. – Walkor