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?
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>
Utilisation de la hauteur de ligne
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
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);
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à.
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'espacement des lignes.
C'est la seule façon d'avoir un espacement de hauteur de ligne.
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>