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?

War es hilfreich?

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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top