首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RIchTextBox Rtf编码

RIchTextBox Rtf编码
EN

Stack Overflow用户
提问于 2020-05-19 11:29:31
回答 1查看 226关注 0票数 0

我在wpf中创建了一个丰富的文本框,在这里我可以选择文本并将其链接到文件或资源。假设我想在文本框中添加文本,并添加到D:\cdrréper的超链接

我附上代码的一部分:

代码语言:javascript
复制
_link.CommandParameter = path;
 _link.NavigateUri = new Uri(path, UriKind.Absolute);
 _link.IsEnabled = true;
using (MemoryStream ms = new MemoryStream()) {
      TextRange tr = new TextRange(_link.ContentStart, _link.ContentEnd);
      tr.Save(ms, DataFormats.Rtf);
      richTextBox.Selection.Load(ms, DataFormats.Rtf);
 }           

加载后富文本框中的当前文本值为

代码语言:javascript
复制
{\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Arial;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red0\green102\blue204;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs18\f2\cf0 \cf0\ql{\f2 {\ul\cf3\ltrch {\field{\*\fldinst { HYPERLINK "D:\\\\cdrr'e9per" }}{\fldrslt {something}}}}\li0\ri0\sa75\sb75\fi0\ql\par}
}
}

来自RTF的超链接值是{超级链接"D:\cdrr'e9per“}。当我试图访问时,路径不工作,因为无法建立。é字符未正确编码。你对我如何解决这个问题有什么建议吗?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-23 14:03:28

在超链接部分中,需要在e9之前有一个\,当我们将rtf字符串加载到TextRange中时,我们需要以Xaml的形式加载它。

代码语言:javascript
复制
tr.Load(ms, DataFormats.Xaml);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61889941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档