繁体   English   中英

如何使用C#在WPF的richtextbox中附加RTF文本

[英]How to append RTF text in richtextbox in WPF with C#

我有RTF字符串,想将该RTF附加到其他RichTextBox我正在使用richtextbox1.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

可选在设置fontFamily样式时,如果fontFamily具有后备设置,则效果会很好

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

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

编辑

如果您谈论rtf文字,请尝试这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM