Добавление текста в новую строку в WPF RichTextBox во время выполнения - PullRequest
7 голосов
/ 20 июня 2010

Я хочу добавить текст в 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 ]

8 голосов
/ 19 апреля 2012

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

<RichTextBox>
  <RichTextBox.Resources>
    <Style TargetType="{x:Type Paragraph}">
      <Setter Property="Margin" Value="0"/>
    </Style>
  </RichTextBox.Resources>
</RichTextBox>
6 голосов
/ 20 июня 2010

Попробуйте pr.Margin = new Thickness(0.0) убрать пробелы между абзацами.

3 голосов
/ 20 июня 2010

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

MSDN для FlowDocument Интервал абзаца

...