如何使用 C# 在 WPF 的富文本框中追加 RTF 文本

本文关键字:文本 追加 RTF 何使用 WPF | 更新日期: 2023-09-27 18:34:25

我有 RTF 字符串,并希望将该 RTF 附加到我正在使用的其他RichTextBoxrichtextbox1.AppendText(RTFString);但附加所有文本而不设置文本样式

string RTFString = {'rtf1'ansi'ansicpg1252'uc1'htmautsp'deff2{'fonttbl{'f0'fcharset0 Times New Roman;}        {'f2'fcharset0 Segoe UI;}{'f3'fcharset0 Blackadder ITC;}}{'colortbl'red0'green0'blue0;'red255'green255'blue255;}'loch'hich'dbch'pard'plain'ltrpar'itap0{'lang1033'fs21'f2'cf0 'cf0'ql'sl20'slmult0{'fs108'f3 {'ltrch uzair}'li0'ri0'sa0'sb0'fi0'ql'sl20'slmult0'par}
}
}{'rtf1'ansi{'fonttbl'f0'fswiss Helvetica;}'f0'pard '{''rtf1''ansi''ansicpg1252''uc1''htmautsp''deff2'{''fonttbl'{''f0''fcharset0 Times New Roman;'}'{''f2''fcharset0 Segoe UI;'}'{''f3''fcharset0 Blackadder ITC;'}'}'{''colortbl''red0''green0''blue0;''red255''green255''blue255;'}''loch''hich''dbch''pard''plain''ltrpar''itap0'{''lang1033''fs21''f2''cf0 ''cf0''ql''sl20''slmult0'{''fs108''f3 '{''ltrch uzair'}''li0''ri0''sa0''sb0''fi0''ql''sl20''slmult0''par'} 'par '} 'par '} }

附加

richtextBox1.AppendText(RTFString);

输出

Same as the "RTFString" text

自选在样式字体家族时,如果字体家族有回退设置,那就太好了

如何使用 C# 在 WPF 的富文本框中追加 RTF 文本

FlowDocument document = new FlowDocument();
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(new Bold(new Run("Your text")));
document.Blocks.Add(paragraph);
richTextBox1.Document = document;

使用段落类并将其添加为文档。希望它会有所帮助。

编辑

如果你谈论 rtf 文本,那么试试这个

MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(text));
this.mainRTB.Selection.Load(stream, DataFormats.Rtf);