Добавление текста в новую строку в 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) убрать пробелы между абзацами.

Другие вопросы по тегам