Добавление текста в новую строку в WPF 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;

но между двумя строками слишком большой разрыв. Как я могу это исправить?

3 ответов


согласно документации, интервал между абзацами определяется полями, которые не накапливаются (без удвоения), поэтому ответ Жюльена Лебоскена правильный.

MSDN на FlowDocument расстояние между абзацами


чтобы избежать необходимости вручную устанавливать поля для каждого абзаца, вы можете добавить это в XAML RichTextBox:

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

попробовать pr.Margin = new Thickness(0.0) для устранения пробелов между абзацами.