Guten Morgen,
das Ziel ist ein einfachster Texteditor für RTF in WPF. Leider geht beim laden von RTF-Dateien mit DataFormats.RTF der HangingIndent verloren.
Mit nachfolgenden Code kann das nach nachvollzogen werden:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| this.richTextBox.Document = new FlowDocument(); richTextBox.AppendText("test test test test test test test test."); richTextBox.SelectAll(); richTextBox.Selection.ApplyPropertyValue(Paragraph.MarginProperty, new Thickness(30, 0, 0, 0)); richTextBox.Selection.ApplyPropertyValue(Paragraph.TextIndentProperty, -10.0);
var dataString = string.Empty; var textRange = new TextRange(this.richTextBox.Document.ContentStart, this.richTextBox.Document.ContentEnd); using (MemoryStream memoryStream = new MemoryStream()) { textRange.Save(memoryStream, DataFormats.Rtf); memoryStream.Seek(0, SeekOrigin.Begin); using (StreamReader streamReader = new StreamReader(memoryStream)) dataString = streamReader.ReadToEnd(); }
textRange = new TextRange(this.richTextBox.Document.ContentStart, this.richTextBox.Document.ContentEnd); using (MemoryStream memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(dataString))) { textRange.Load(memoryStream, DataFormats.Rtf); }
|
Speichern als RTF funktioniert - nur das laden hat einen Fehler. Als XAML würde es klappen ist aber leider keine Option.
Ich finde auch im Netz nichts dazu - hat jemand eine Idee?
Moderiert von Th69: C#-Tags hinzugefügt