我正在使用 C# 代码开发 WPF Windows 应用程序。这是我继承的应用程序。我只有有限的使用 WPF 的经验。我有一个富文本框控件,用于使用 html 构建电子邮件。有代码可以读取富文本框的内容并将结果作为 html 存储在数据库中。此代码正在运行。我需要编写将 html 写入富文本框的反向操作,以便它显示为文本。
下面是我必须阅读富文本框的代码。
TextRange xaml = new TextRange(EmailBodyRichTextBox.Document.ContentStart, EmailBodyRichTextBox.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
xaml.Save(ms, DataFormats.Xaml);
string xamlString = ASCIIEncoding.Default.GetString(ms.ToArray());
string html = HTMLConverter.HtmlFromXamlConverter.ConvertXamlToHtml("<FlowDocument>" + xamlString + "</FlowDocument>");
html = HttpUtility.HtmlEncode(html);
要将 RichTextBox 的内容保存为可以保存在数据库中的常规字符串:
要从字符串重新加载 RichTextBox:
如果只想将邮件存入数据库,然后重新加载到 RichTextBoxes 中,转换为 HTML 是没有意义的,只会引入转换格式不匹配的问题。