avalon editを使用してカスタムソフトウェアを作成しており、行間のスペース(高さ)を大きくする方法を探しています。現時点では、ユーザーが行の書き込みを終了して別の行を書きたいと思うたびに、空の行を追加する必要があります。
defaultLineHeightが計算されているように見えるクラスを調べ始めましたTextView
が、影響を与えることができたのは、コンテンツ自体ではなく、ビジュアルカレットの高さだけです。
現在、すべてのペアラインを非表示にすることを検討していますが、ライン間にスペースを追加するという簡単な操作を実現するためのより簡単な方法があることを望んでいます。
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;
}
}
ありがとう