Wie kommt man RTF von RichTextBox
-
03-07-2019 - |
Frage
Wie erhalte ich den Text in RTF eines RichTextBox
? Ich versuche, so zu erhalten, aber die Eigenschaft existiert nicht.
RichTextBox rtb = new RichTextBox();
string s = rtb.Rtf;
Lösung
Um die tatsächliche XAML durch den Benutzer innerhalb des RichTextBox erstellt zu bekommen:
TextRange tr = new TextRange(myRichTextBox.Document.ContentStart,
myRichTextBox.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Xaml);
string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());
EDIT: Ich habe keinen Code vor mir zu testen, aber eine Instanz des TextRange
Typs hat eine Save
(zu streamen) Methode, die einen DataFormats
Parameter annimmt, die DataFormats.Rtf
werden können
Andere Tipps
Es gibt 2 RichTextBox Klassen, eine von dem WinForms Rahmen und ein von dem WPF-Framework:
System.Windows.Controls.RichTextBox wpfBox;
System.Windows.Forms.RichTextBox winformsBox;
Nur die WinForms RichTextBox rtf Eigenschaft hat, das andere hat ein Document-Eigenschaft, die eine Flowdocument enthält.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow