Condividi tramite


Procedura: Regolare la spaziatura tra paragrafi

In questo esempio viene illustrato come regolare o eliminare la spaziatura tra i paragrafi nel contenuto del flusso.

Nel contenuto di flusso, lo spazio aggiuntivo visualizzato tra paragrafi è il risultato dei margini impostati su questi paragrafi; pertanto, la spaziatura tra i paragrafi può essere controllata regolando i margini su tali paragrafi. Per eliminare completamente la spaziatura aggiuntiva tra due paragrafi, impostare i margini per i paragrafi su 0. Per ottenere una spaziatura uniforme tra paragrafi in un'intera FlowDocument, utilizzare lo stile per impostare un valore di margine uniforme per tutti i paragrafi del FlowDocument.

È importante notare che i margini per due paragrafi adiacenti "collasseranno" al più grande dei due margini, invece di raddoppiare. Pertanto, se due paragrafi adiacenti hanno rispettivamente margini di 20 pixel e 40 pixel, lo spazio risultante tra i paragrafi è 40 pixel, maggiore dei due valori di margine.

Esempio

Nell'esempio seguente si utilizzano tecniche di stile per impostare il margine di tutti gli elementi Paragraph all'interno di un contesto dal FlowDocument a 0, eliminando efficacemente la spaziatura aggiuntiva tra i paragrafi nel 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>