Question

J'utilise un RichTextBox dans WPF et j'essaie de définir l'espacement de paragraphe par défaut sur 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?

Était-ce utile?

La solution

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>

Autres conseils

Utilisation de la hauteur de ligne

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

Fermez, vous avez donc les points. En fait, il s’est avéré fixer la marge,

p.Margin = new Thickness(0);

Pour moi, sur VS2017 dans WPF, cela fonctionne:

 <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 également trouver cela dans la vue Propriétés, mais vous ne pouvez pas modifier en dessous de 6 px à partir de là.

RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);

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'interligne.

C’est la seule façon d’obtenir un espacement de hauteur de ligne.

<RichTextBox  Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
    <Paragraph>
        XYZ
        <LineBreak />
    </Paragraph>
</RichTextBox>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top