web-dev-qa-db-fra.com

Comment modifier l'espacement des paragraphes RichTextBox?

J'utilise un RichTextBox dans WPF et j'essaie de définir l'espacement de paragraphe par défaut à 0 (afin qu'il n'y ait pas d'espacement de paragraphe). Bien que je puisse le faire en XAML, j'aimerais le réaliser par programme si possible. Des idées?

58
Darren Oster

Je l'ai fait avec style (jeu de mots en retrait)

<RichTextBox  Margin="0,51,0,0" Name="mainTextBox" >
        <RichTextBox.Resources>
            <Style TargetType="{x:Type Paragraph}">
                <Setter Property="Margin" Value="0"/>
            </Style>
        </RichTextBox.Resources>
    </RichTextBox>
191
moogs

Utilisation de la hauteur de ligne

RichTextBox rtb = new RichTextBox();    
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;    
p.LineHeight = 10;
24
Ramesh Soni

Fermer, donc vous avez obtenu les points. En fait, il s'est avéré être en train de fixer la marge,

p.Margin = new Thickness(0);
17
Darren Oster

Pour moi sur VS2017 dans WPF fonctionne ceci:

 <RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>

La clé est Block.LineHeight = "2"

Vous pouvez le trouver également dans la vue Propriétés, mais vous ne pouvez pas changer en dessous de 6 pixels à partir de là.

6
m4rcel
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
2
senquevila

Dans C # 2008 WAP

richtextbox1.SelectionCharOffset =
    -1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);

ou

richtextbox1.SelectionCharOffset =
    Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;

peut être utilisé pour l'espacement des lignes.

C'est la seule façon d'avoir un espacement de hauteur de ligne.

1
Danny
<RichTextBox  Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
    <Paragraph>
        XYZ
        <LineBreak />
    </Paragraph>
</RichTextBox>
0
Haasan Sachdev