在运行时在WPF RichTextBox的新行中添加文本

时间:2010-06-20 09:57:07

标签: wpf richtextbox newline

我想在运行时在新行中在WPF RichTextBox中添加一些文本。 我可以这样做:

FlowDocument mcFlowDoc = new FlowDocument();
mcFlowDoc = richTextBox.Document;
Paragraph pr = new Paragraph();
pr.Inlines.Add(status);
mcFlowDoc.Blocks.Add(pr);
StatusText.Document = mcFlowDoc;

但两条线之间存在太大的差距。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:8)

为避免必须为每个段落手动设置页边距,可以将其添加到RichTextBox的XAML中:

<RichTextBox>
  <RichTextBox.Resources>
    <Style TargetType="{x:Type Paragraph}">
      <Setter Property="Margin" Value="0"/>
    </Style>
  </RichTextBox.Resources>
</RichTextBox>

答案 1 :(得分:6)

尝试使用pr.Margin = new Thickness(0.0)来消除段落之间的差距。

答案 2 :(得分:3)

根据文档,段落间距由边距定义,不会累积(不加倍),因此Julien Lebosquain的答案是正确的。

MSDN on FlowDocument Paragraph Spacing