我正在使用 avalon edit 编写自定义软件,并且正在寻找一种方法来使行之间的空间(高度)更大。目前,每当用户写完一行并想写另一行时,我都被迫添加一个空行。
我已经开始研究TextView
似乎计算 defaultLineHeight 的类,但我唯一能影响的是视觉插入符号的高度,而不是内容本身。
目前我正在考虑让每对线不可见,但我希望有一种更简单的方法来实现在线之间添加更多空间的简单操作。
这是TextView
我目前正在检查的课程中的方法。欢迎任何提示或提示。
void CalculateDefaultTextMetrics()
{
if (defaultTextMetricsValid)
{
return;
}
defaultTextMetricsValid = true;
if (formatter != null)
{
var textRunProperties = CreateGlobalTextRunProperties();
using (
var line = formatter.FormatLine(
new SimpleTextSource("x", textRunProperties),
0,
32000,
new VisualLineTextParagraphProperties { defaultTextRunProperties = textRunProperties },
null))
{
wideSpaceWidth = Math.Max(1, line.WidthIncludingTrailingWhitespace);
defaultBaseline = Math.Max(1, line.Baseline);
defaultLineHeight = Math.Max(1, line.Height);
}
}
else
{
wideSpaceWidth = FontSize / 2;
defaultBaseline = FontSize;
**defaultLineHeight = FontSize + 3; // bigger value only affects caret height :(**
}
// Update heightTree.DefaultLineHeight, if a document is loaded.
if (heightTree != null)
{
heightTree.DefaultLineHeight = defaultLineHeight;
}
}
谢谢