2016-10-17 4 views
3

Ich erstelle eine Software für Notizen. Ich habe ein Bild eines Notizbuchs mit den Linien und usw. erstellt. Jetzt möchte ich eine Textbox (oder ein Rich-Text-Feld oder ein anderes funktionierendes Element) erstellen, das den Text genau über jeder Zeile hinzufügt. JedochWie haben Sie einen festen Zeilenabstand in einer Textbox?

figure

, da der Benutzer mehr als ein paar Zeilen, werden die Texte ein wenig auf jeder Zeile verschoben, endet sehr seltsam.

Ich schaute durch viele Foren und Fragen in dem Versuch, dies behoben zu haben. Nichts half. Ich entwickle es in Visual Studio, WPF-Projekt, C#. Ich möchte dieses Steuerelement dem C# -Code hinzufügen, kein XAML.

+0

Sie müssen Passen Sie die Eigenschaft 'FontSize' und/oder die angefügten Eigenschaften' TextBlock.LineHeight' und ['TextBlock.LineStackingStrategyProperty'] (https://msdn.microsoft.com/de-de/library/system.windows.controls.textblock) an .linestackingstrategy (v = vs.110) .aspx) – Xiaoy312

Antwort

2

Versuchen Sie, die LineStackingStrategy Eigenschaft einstellen.

p.LineStackingStrategy = LineStackingStrategy.BlockLineHeight; 

Wenn Sie etwas Abstand vor der Zeile auch benötigen, wie beim Start eines Absatzes, dann können Sie versuchen, die Eigenschaft als Einstellung:

p.LineStackingStrategy = LineStackingStrategy.MaxHeight; 

lesen Sie in diesem Beitrag: WPF- "LineSpacing" in a TextBlock

+0

@Rafael Wenn die Lösung für Sie funktioniert, können Sie die Antwort akzeptieren, indem Sie auf das Häkchen unter den Abstimmschaltflächen klicken. –

+0

Ja, habe ich. Vielen Dank. –

0

Die folgende Beschreibung ist für Zeilenhöhe oder Absatzmargen arbeiten:

RichTextBox rtb = new RichTextBox();  
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph; 

p.LineHeight = /* Your height here */; 
p.Margin = new Thickness(/* Your height here */); 
+0

Versuchte das vorher. Funktioniert nicht. Hält sich nach ein paar Zeilen aus den Zeilen. –

Verwandte Themen