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

Jee*_*att 7 wpf newline richtextbox

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

FlowDocument mcFlowDoc = new FlowDocument();
mcFlowDoc = richTextBox.Document;
Paragraph pr = new Paragraph();
pr.Inlines.Add(status);
mcFlowDoc.Blocks.Add(pr);
StatusText.Document = mcFlowDoc;
Run Code Online (Sandbox Code Playgroud)

但两条线之间存在太大的差距.我怎样才能解决这个问题?

Mer*_*rad 8

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

<RichTextBox>
  <RichTextBox.Resources>
    <Style TargetType="{x:Type Paragraph}">
      <Setter Property="Margin" Value="0"/>
    </Style>
  </RichTextBox.Resources>
</RichTextBox>
Run Code Online (Sandbox Code Playgroud)


Jul*_*ain 6

尽量pr.Margin = new Thickness(0.0)消除段落之间的差距.


Ian*_*ham 3

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

MSDN 关于 FlowDocument 段落间距