2009-08-10 13 views
42

Alcuni font hanno una grande quantità di spazi bianchi sopra e sotto i caratteri. C'è un modo per correggerlo e stringere lo spazio tra le righe di un paragrafo avvolto da una parola in WPF (in un TextBlock o in un FlowDocument)? Un po 'come un margine negativo tra le righe?Ridurre l'interlinea in un TextBlock/FlowDocument

C'è una proprietà LineHeight su Paragraph e TextBlock, ma sembra solo per farvi aumentare la spaziatura - se si imposta su un valore inferiore a quello di default, è semplicemente ignorato.

risposta

82

Impostare la LineHeight come prima, ma cambia il LineStackingStrategy-BlockLineHeight

+0

Hai salvato la mia pelle! – tofutim

+0

+1 Funziona anche per Silverlight e Windows Phone. – tidwall

+0

Ottimo lavoro, signore. –

0

Vedere questo question.

Esistono diversi modi per correggere l'altezza. Quello che ha funzionato per me è this che imposta il margine a 0.

+0

Questo è per la spaziatura tra i paragrafi. Sto chiedendo di spaziatura tra le righe all'interno di un paragrafo. –

3

Per esemplificare @ risposta di Joel (che è ancora molto utile 5 anni più tardi: P)

<StackPanel VerticalAlignment="Center"> 
     <Button Width="137" Height="47.96"> 
      <TextBlock Text="This is a very long text that gets cut because it is so long" TextWrapping="Wrap"/> 
     </Button> 
     <Button Width="137" Height="47.96"> 
      <TextBlock Text="This is a very long text that doesn't cut thanks to @Joel" TextWrapping="Wrap" 
       LineStackingStrategy="BlockLineHeight" LineHeight="13"/> 
     </Button> 
    </StackPanel> 
+0

questo ha funzionato per me – adrian4aes