Wie ändere ich den Abstand von RichtextBox Absatz?
-
11-07-2019 - |
Frage
Ich verwende eine RichTextBox in WPF und versuche, den Standardabschnitt auf 0 festzulegen (damit kein Absatzabstand vorhanden ist). Während ich dies in XAML tun könnte, möchte ich es nach Möglichkeit programmgesteuert erreichen. Irgendwelche Ideen?
Lösung
Ich habs geschafft mit Stil (Wortspiel eingereicht)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
Andere Tipps
Verwenden der Zeilenhöhe
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
Schließen Sie, also haben Sie die Punkte. Eigentlich stellte sich heraus, dass der Rand festgelegt wurde,
p.Margin = new Thickness(0);
Für mich auf VS2017 in WPF funktioniert dies:
<RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>
Der Schlüssel ist Block.lineHeight = "2"
Sie können dies auch in Eigenschaftenansicht finden, aber Sie können sich von dort unter 6PX nicht ändern.
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);
oder
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
Kann für den Linienabstand verwendet werden.
Dies ist der einzige Weg, wie Sie eine Linienhöhenabstand haben können.
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>