将html转换为FlowDocument

我尝试创建一个wpf核心应用程序,该应用程序使用从ms access数据库导入的文本。 其中一些字段是“访问文本”字段,其文本设置为RTF文本,但实际上它们看起来像html。像这样:

10630981 bla bla bla bla bla bla {bla 25-09}

我当时正在考虑使用FlowDocumentScrollViewer来显示此字段,并使用RichTextBox进行编辑。 因为我想以MVVM模式工作,所以我需要一个转换器将此'Html'转换为flowdocument并返回。

我已经连续几天没有玩这个游戏,但是还没有成功。 我觉得我正在使用以下代码:

FlowDocument document = new FlowDocument();
string xaml = "<p> The <b> Markup </b> that is to be converted.</p>";
using (MemoryStream msDocument = new MemoryStream((new ASCIIEncoding()).GetBytes(xaml)))
{
   textrange textrange = new textrange(document.ContentStart,document.ContentEnd);
   textrange.Load(msDocument,DataFormats.Xaml);
}

但是我仍然收到一个异常,提示XamlParseException:无法创建未知类型'p'。

有人可以向我推动正确的方向吗?

lkarhlkqjwr 回答:将html转换为FlowDocument

您使用了错误的数据格式。您的内容不是有效的XAML字符串。只需使用DataFormats.Text即可。
如果您使用DataFormats.Xaml,则输入应为基于<Run><Paragraph>之类的XAML元素的有效文档。

您还可以将字符串值直接分配给TextRange.Text属性:

FlowDocument document = new FlowDocument();
string html = "<p> The <b> Markup </b> that is to be converted.</p>";
TextRange textRange = new TextRange(document.ContentStart,document.ContentEnd);
textRange.Text = html;
本文链接:https://www.f2er.com/1495209.html

大家都在问