Практическое руководство. Настройка интервалов между абзацами
В этом примере показано, как Настройка или устранение интервалов между абзацами в содержимом нефиксированного формата.
В содержимом нефиксированного формата дополнительное пространство между абзацами является результатом поля этих абзацев. Таким образом интервалов между абзацами можно управлять с помощью полей этих абзацев. Чтобы полностью убрать дополнительное расстояние между двумя абзацами, установите поля для абзаца для 0. Для достижения одинакового интервала между абзацами во всем FlowDocument, используйте стилизацию для установки одинакового значения поля для всех абзацев в FlowDocument.
Важно отметить, что поля для двух соседних абзацев будет «свернуть» большее из двух полей, а не вдвое. Поэтому, если два соседних абзаца имеют поля 20 пикселей и 40 пикселей соответственно, полученное в результате пространство между абзацами 40 пикселей, большее из двух значений полей.
Пример
В следующем примере используется стиль, чтобы задать поля для всех Paragraph элементов в FlowDocument для 0, что эффективно устраняет дополнительный интервал между абзацами в FlowDocument.
<FlowDocument>
<FlowDocument.Resources>
<!-- This style is used to set the margins for all paragraphs in the FlowDocument to 0. -->
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</FlowDocument.Resources>
<Paragraph>
Spacing between paragraphs is caused by margins set on the paragraphs. Two adjacent margins
will "collapse" to the larger of the two margin widths, rather than doubling up.
</Paragraph>
<Paragraph>
To eliminate extra spacing between two paragraphs, just set the paragraph margins to 0.
</Paragraph>
</FlowDocument>