Comment puis-je spécifier l'espacement des lettres ou le crénage dans un TextBox WPF?
J'aimerais modifier l'espacement entre les caractères dans un WPF zone de texte.
Quelque chose comme la letter-spacing: 5px
chose qui est disponible dans le CSS.
Je pense que c'est possible dans le code XAML; quelle est la façon la plus simple?
J'ai trouvé le "Introduction à la GlyphRun Objet et les Glyphes Élément" du document, et l'a trouvé pour être extrêmement bénéfique.
C'est un exemple de code à partir de cette page:
<!-- "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 même page de documentation donne à cette "explication" à ce que le Indices
propriété n':
Je n'ai aucune idée de ce que tout cela signifie. Je suis également pas sûr que les Indices est la bonne chose - le commentaire dans le code parle de "les largeurs de caractère", ce qui je ne se soucient pas. Je veux régler la largeur entre caractères.
Aussi, il n'y a pas d'exemple de la façon d'appliquer un Glyphs
élément à une zone de texte. Quand je l'ai essayé, mon WPF application de test vient de tomber en panne.
Ce que je veux faire est d'augmenter un peu le vide de l'espace qui apparaît entre les personnages dessinés dans un WPF zone de texte. Le texte va varier en longueur et le contenu. Dois-je modifier le Indicies
bien à chaque fois il y a un nouveau personnage? Est-il un moyen de dire que "de 20% d'espace en plus que d'habitude, pour chaque personnage".
Quelqu'un peut-il m'aider?
source d'informationauteur Cheeso
Vous devez vous connecter pour publier un commentaire.
J'ai essayé de Glyphes et FontStretch et ne pouvait pas facilement obtenir le résultat que je cherchais. J'ai été en mesure de venir avec une approche qui fonctionne pour mes fins. Peut-être qu'il va travailler pour d'autres, en tant que bien.
Je peut se lier à n'importe quelle chaîne et n'ont pas besoin de faire toute la largeur de caractère de détection pour définir l'espacement correctement. La marge de droite est l'espace entre les lettres.
Exemple:
est FontStretch une option pour vous?
Sinon, vous voudrez peut-être regarder dans cette il y a une image, en montrant ce qu'avance largeur de moyens. Si je n'ai pas fait cela avant et je ne sais pas si cela fonctionne en augmentant à droite et à gauche des roulements peut-être ce que vous voulez!
Pour ce que sa vaut . . .
Si vous avez la possibilité de basculer de votre mise en œuvre de RichTextBox, cela peut être plus facile que le travail autour de vous trouvé Sept 2013. Je l'ai juste essayé pour mes besoins propres, et il fonctionne pour ce que j'en ai besoin. Je ne vois pas un RichTextBox pour le contrôle de crénage d'espaces individuels comme les compositeurs ne. Mais la zone de texte était en train de manger des espaces supplémentaires (consolidation de plusieurs des espaces adjacents à un seul espace) comme le HTML. J'avais besoin pour les espaces pour afficher la même quantité d'espacement est dans ma Chaîne de texte, et RichTextBox.
Je ne suis pas expert, mais il semble que vous ne pouvez pas spécifier le texte contenu dans le code XAML. J'ai dû le spécifier dans le code-behind de l'événement: