我有一个WPF RichTextBox
<RichTextBox x:Name="txtMain" IsReadOnly="True" />
我通过DataFormats.Rtf
string rtf = "\\li90{\\cf0 Marc Says:}\\par\\li180{{\\fonttbl {\\f0\\fnil\\fcharset0 Consolas;}}\\cf2\\fs18 Test font name}\\par"
FlowDocument fd = new FlowDocument();
MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(rtf));
TextRange textRange = new TextRange(fd.ContentStart, fd.ContentEnd);
textRange.Load(ms, DataFormats.Rtf);
txtMain.Document = fd;
但是,RichTextBox
使用默认指定的 Segoe UI 字体名称,而不是使用RTF字体名称 Consolas 。
想法?
答案 0 :(得分:0)
更改
MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(rtf));
到
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(rtf));
还要确保RTF
正确无误。