如何在文本框中使用固定的行间距?

时间:2016-10-17 16:55:22

标签: c# wpf visual-studio textbox

我正在创建一个笔记记录软件。我用线条等创建了一个笔记本的图像。现在,我想创建一个文本框(或富文本框,或任何有效的元素),将文本准确地添加到每行的顶部。

figure

然而,当用户键入多行时,每行的文本会稍微移位,结果非常奇怪。

我试图通过许多论坛和问题来解决这个问题。什么都没有帮助。我在Visual Studio,WPF项目,C#中开发它。我想将此控件添加到C#代码中,而不是XAML。

2 个答案:

答案 0 :(得分:3)

尝试设置LineStackingStrategy属性。

p.LineStackingStrategy = LineStackingStrategy.BlockLineHeight;

如果在行之前还需要一些间距,就像开始一个段落那么你可以尝试将属性设置为:

p.LineStackingStrategy = LineStackingStrategy.MaxHeight;

查看此帖子:WPF- "LineSpacing" in a TextBlock

答案 1 :(得分:0)

以下内容适用于行高或段落边距:

RichTextBox rtb = new RichTextBox();    
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph; 

p.LineHeight = /* Your height here */;
p.Margin = new Thickness(/* Your height here */);