2012-11-24 8 views
5

Sono un beginer in C# WPF e voglio fare un documento flusso con pochi paragrah dalla programmazione. Il problema è che c'è un grande spazio tra pagraphs e voglio ridimensionarla al minimo.Come regolare lo spazio tra paragrafo in un documento di programmazione flusso da

ho trovato una soluzione utilizzando un'istruzione Xml, ma voglio farlo per la programmazione:

<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> 

come posso farlo?.

grazie per sei aiuto.

+0

Ma XAML è la programmazione. ??? – Jordan

risposta

2

Prova questo:

Style style = new Style(typeof(Paragraph)); 
style.Setters.Add(new Setter(Block.MarginProperty, new Thickness(0))); 
myFlowDocument.Resources.Add(typeof(Paragraph), style); 
+0

Grazie mille, questa era la soluzione. –

+0

@WalidA Si prega di considerare accettarlo come risposta se ha risolto il problema. –

+1

questo non funziona per me né l'impostazione della proprietà Margin nel codice (cioè 'paragraph.Margin = new Spessore (0)'). Nulla di ciò che faccio sembra voler ridurre la spaziatura tra i paragrafi. – Jordan

1

No "programmazione" è necessario. La proprietà PagePadding su FlowDocument ha funzionato per me:

<FlowDocument PagePadding="0"> 

MSDN definition for PagePadding:

Ottiene o imposta un valore che indica lo spessore dello spazio riempimento tra i confini di una pagina e il contenuto della pagina.

Problemi correlati