43 votes

Diminuer l'espacement des lignes dans un TextBlock / FlowDocument

Certaines polices ont une grande quantité d'espaces au-dessus et en-dessous de la lettre. Est-il un moyen de corriger ça, et serrer l'espace entre les lignes d'un mot gainé de paragraphe dans WPF (dans un TextBlock ou un FlowDocument)? Comme une sorte de négatif de la marge entre les lignes?

Il y a un LineHeight bien sur Paragraph et TextBlock, mais il semble que pour vous permettre d'augmenter l'espacement -- si vous définissez ce paramètre à une valeur inférieure à la valeur par défaut, c'est tout simplement ignoré.

83voto

Joel Points 598

Définissez les LineHeight comme avant, mais modifiez les LineStackingStrategy en BlockLineHeight

3voto

Joao Milasch Points 649

Pour illustrer la réponse de @ Joel (qui est toujours très utile 5 ans plus tard: 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>
 

-1voto

David Basarab Points 25852

Voir cette question .

Il existe plusieurs façons de régler la hauteur. Celui qui a fonctionné pour moi est celui qui fixe la marge à 0.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X