Come posso cambiare la spaziatura dei paragrafi RichTextBox?
-
11-07-2019 - |
Domanda
Sto utilizzando un RichTextBox in WPF e sto cercando di impostare la spaziatura di paragrafo predefinita su 0 (in modo che non vi siano spaziature di paragrafo). Mentre potrei farlo in XAML, vorrei raggiungerlo a livello di programmazione se possibile. Qualche idea?
Soluzione
L'ho fatto con stile (gioco di parole)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
Altri suggerimenti
Uso dell'altezza della linea
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
Chiudi, quindi ottieni i punti. In realtà si è scoperto che stava impostando il margine,
p.Margin = new Thickness(0);
Per me su VS2017 in WPF funziona così:
<RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>
La chiave è Block.LineHeight="2"
Puoi trovarlo anche nella vista Proprietà ma non puoi cambiare sotto 6px da lì.
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
In C # 2008 WAP
richtextbox1.SelectionCharOffset =
-1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);
o
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
può essere utilizzato per Interlinea.
Questo è l'unico modo in cui puoi avere la spaziatura dell'altezza della linea.
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>