WPF RichTextBox:输出RTF与输入不同

时间:2013-12-12 08:55:15

标签: .net wpf richtextbox rtf

我正在从客户端应用程序加载有效的RTF(假设只是一个二进制图像)字符串。

此RTF加载到WPF RichTextBox控件中,然后,在修改内容时,我从RichTextBox中将其发送回客户端应用程序(因此RTF内容没有任何变化)。

但是现在RTF内容完全不同了。现在,它仍然是一个有效的RTF(如果我将它复制到'test.rtf'文件中,图像会正确显示)。但现在在客户端应用程序中,图像不会显示。

如果我再次将“已修改”的RTF从客户端应用程序发送到我的应用程序,则该图像将显示在我的应用程序中。但是,再次将其发送回客户端应用程序,该图像不会显示在那里。

总而言之,图像不会丢失,但不知何故,我猜测在我的RichTextBox中设置内容后, RTF格式(或标准)会发生变化控制。

输入RTF(来自客户):

{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0 Tahoma;}}
{\*\generator Msftedit 5.41.21.2510;}
\viewkind4\uc1\pard\sa200\f0\fs20
{\pict\wmetafile8\picw17017\pich7624\picwgoal9360\pichgoal4200 
010009000003d04204000000a742040000000400000......

在RichTextBox中设置后的RTF:

{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}
{\f2\fcharset0 Segoe UI;}{\f3\fcharset0 Tahoma;}}
{\colortbl\red0\green0\blue0;\red255\green255\blue255;}
\loch\hich\dbch\pard\plain\ltrpar\itap0
{\lang1033\fs20\f3\cf0 \cf0\ql{\f3 {\ltrch {\*\shppict{\pict\picwgoal9360\pichgoal4200\pngblip
89504e470d0a1a0a0000000d494844......

有任何帮助吗?谢谢:))

1 个答案:

答案 0 :(得分:0)

WPF RichTextBox仅支持有限使用处理图像。相对链接,图形元文件和不是JPG,PNG或GIF格式的图像是一些值得注意的不兼容性。