我有一个TextBox
使用特定格式字符串来显示其内容的。框的宽度设置为恰好占用显示文本所需的空间量。为此,我使用格式化文本的宽度:
box.width = new FormattedText(
String.Format(Format, value),
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
new Typeface("Arial"),
8,
Brushes.Black).Width;
这样做时,文本框几乎具有正确的宽度。但我仍然需要添加一个偏移量 12
,否则文本的区域会被一些像素裁剪:
我12
通过试错得到了号码。于是出现了两个问题:
- 为什么我需要这个偏移量,丢失的宽度是否转到(空白和边框?)?
- 有没有比仅仅猜测更好的方法来获得正确的偏移量?