将TextRange保存到RTF Stream会创建错误的超链接

时间:2014-07-09 09:38:08

标签: .net hyperlink special-characters rtf textrange

众所周知,从RichTextBox / FlowDocument创建RTF非常简单:

[...]
someTextRange.Save(stream, DataFormats.Rtf);
[...]

但是,在超链接目标中使用特殊字符时,这些字符会被一些(xml编码的?)字符替换,这些字符会在以后使用rtf时导致链接断开。 甚至无法转换回rtf(通过TextRange.Load使用众所周知的方法),因为URI创建失败。

奇怪的是,如果在普通文本或超链接显示文本中使用这些特殊字符,则不会替换它们。只替换URI本身中的字符。

示例:

链接目标

  

www.test.com/this&that(< / p>

转换为(不含空格)

  

www.test.com/this& amp;那

有什么想法吗?

提前致谢,

的Henning

0 个答案:

没有答案