Comment modifier l'espacement des paragraphes RichTextBox?
-
11-07-2019 - |
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?
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>