问题描述
我想用与单词类似的不同语言(中文,印地文,英文)替换格式文本。
到目前为止,我尝试过的是:
Lazy<RichTextBox> rtBox = new Lazy<RichTextBox>();
TextRange tr = new TextRange(rtBox.Value.Document.ContentStart,rtBox.Value.Document.ContentEnd);
tr.Load(new System.IO.MemoryStream(Encoding.Default.GetBytes(originalString)),DataFormats.Rtf);
using (var memoryStream = new System.IO.MemoryStream())
{
tr.Save(memoryStream,DataFormats.Rtf);
rtf = ASCIIEncoding.Default.GetString(memoryStream.ToArray());
}
rtf = rtf.Replace(old,new);
MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(rtf));
rtBox.Value.SelectAll();
rtBox.Value.Selection.Load(stream,DataFormats.Rtf);
“幕后”字符串如下例所示: 字符串示例= @“ {\ rtf1 \ ansi \ ansicpg1252 \ uc1 \ htmautsp \ deff2 {\ fonttbl {\ f0 \ fcharset0 Times New Roman;} {\ f2 \ fcharset0 Segoe UI;}} {\ colortbl \ red0 \ green0 \ blue0; \ red255 \ green255 \ blue255; } \ loch \ hich \ dbch \ pard \ plain \ ltrpar \ itap0 {\ lang1033 \ fs18 \ f2 \ cf0 \ cf0 \ ql {\ f2 {\ ltrch苹果不是} {\ b \ ltrch葡萄} \ li0 \ ri0 \ sa0 \ sb0 \ fi0 \ ql \ par} } }“;
我认为由于某种原因,格式化文本时,Replace方法不起作用。示例:{\ ltrch苹果不是} {\ b \ ltrch葡萄}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)