Laden...

RichTextBox WordWrap - new Line \r\n

Erstellt von schorge vor einem Jahr Letzter Beitrag vor einem Jahr 472 Views
S
schorge Themenstarter:in
129 Beiträge seit 2014
vor einem Jahr
RichTextBox WordWrap - new Line \r\n

Moin,

ich habe eine RichTextBox in WPF mit WordWrap und möchte die Zeilenlänge begrenzen.
Optisch passiert dass durch den RichTextBox.Document.MaxPageWidth,
komme ich über den MaxPageWidth, wird visuell eine neue Zeile angefangen,
leider aber nicht im TextRange bzw wird keine neuer Rücklauf erstellt...

RichTextBoxSample

Convert the RichTextBox Content to Text:


if (rtb.Document != null)
            {
                TextRange textRange = new TextRange(                    
                    rtb.Document.ContentStart,                    
                    rtb.Document.ContentEnd
                );

                var currentLine = textRange.Text;
                //Result:
                //" thisText ist new textwith textwrap and here no new line after MaxPageWidth only is here\r\nafter press SHIFT+ENTER a new Line :(\r\n"
                return textRange.Text;
            }

Gibt es einen "einfachen" weg das \r\n hier z.B. nach dem "and" einzufügen ?

16.842 Beiträge seit 2008
vor einem Jahr

Ist ja auch nur eine visuelle Darstellung, die sich auf jedem Gerät (Stichwort DPI) anders verhält. Entsprechend gibt es auch keinen Automatismus dafür (IIRC steht das auch nirgends, woher nimmst Du die Annahme, dass das so wäre?).
Im Endeffekt musst die Textbreite selbst messen, vermutlich mit Hilfsmethoden wie GetLineFromCharIndex.