我想知道特定字母的特定字母或字母的宽度(单位)是多少。
例如,如果我在Arial 10 pnts中键入A,它将在面板或文本框或记事本中占用多少空间。
答案 0 :(得分:0)
我不会过分担心宽度,而是将它留给WPF,以便在我正在使用的任何控件中很好地格式化文本。
但是,我认为您可以使用字体和字符串"A"
(以及其他内容)创建FormattedText
对象,然后使用其MinWidth
属性以单位为单位获取宽度 1 / 96th 。
此代码有望帮助您入门:
FormattedText ft = new FormattedText(
"A",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Arial"),
32,
Brushes.Black);
double width = ft.MinWidth;
在我的系统上,将width
设置为大约21.343
。如果你将em-dash —
放在A
当前所在的位置,你得到(正如预期的那样)32.0
,你在{{的第五个参数中为em指定的大小1}}构造函数。