如何在XAML中更改文本框中的字符间距?

8

如何在WPF应用程序中更改文本块内的字符间距。也称为字符间距或跟踪。


也被称为字距调整。字距调整默认启用,不应与字母间距(追踪)混淆,因为字距调整是针对某些字母对的调整,例如 A 和 V(使用字体内部的距离调整将它们拉近)。另一方面,字母间距是对所有字符群集进行的全局调整,这正是您想要的。CharacterSpacing 属性适用于 Windows 8,但我不确定它是否在您的 WPF 版本中可用。 - Dwayne Robinson
2个回答

9

2
FontStretch是一种字体选择属性,仅当该字体系列支持更细和更宽的变体时才有效,但并非所有字体都支持。Arial Narrow就是其中一个众所周知的字体。 - Dwayne Robinson
Arial Narrow似乎忽略了我的设置,为什么? - user230910
正如Dwayne Robinson已经指出的那样:并非所有字体都支持此功能。 - H.B.
我明白了,但是从你的评论中我理解到Arial Narrow支持它。没问题,只是想帮助未来的读者 :) - user230910

-2
也许你可以为该TextBox添加一个Behavior,以便在每个字符后添加一个空格。
另外,如果你正在使用数据绑定,请使用相同逻辑的转换器。
如果你想要超越这个,你可以创建一个自定义控件,它将从TextBox继承并实现该间距逻辑。那样也可以允许你添加一个依赖属性,比如"NumOfSpaces",你可以控制它会放多少空格。

1
字符间距,或者像anton2g正确提到的字距/字间距,不是在文本中添加一个或多个空格,而是进行更细粒度的调整。引用维基百科的话:在印刷排版中,字距(较少见的称为镶嵌)是调整比例字体中字符间距的过程,通常是为了达到视觉上令人愉悦的效果。字距调整单个字母形式之间的间距,而跟踪(字母间距)则在一系列字符上均匀地调整间距。http://en.wikipedia.org/wiki/Kerning - d7samurai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接