c#OpenXML-如何在内容控件中设置富文本字符串并保留格式

c#OpenXML-如何在内容控件中设置富文本字符串并保留格式,c#,openxml,contentcontrol,richtext,C#,Openxml,Contentcontrol,Richtext,原谅我,我迷路了,不知所措 我有一个带有几个纯文本内容控件的文档。到目前为止,我可以枚举文档中的SDT元素,找到所有感兴趣的SDT块,并根据需要替换文本 接下来,我有一个RichText格式的字段,可以从数据库中以字符串形式检索,现在需要将其插入文档中。我已经在文档中设置了富文本内容控件,但是如何设置/替换富文本字符串并保留正确的格式 让我更困惑的是,当我用“Word2007ContentControlToolkit”打开文档时,它会按预期显示所有内容控件,并正确地将其标识为富文本类型。但是,当

原谅我,我迷路了,不知所措

我有一个带有几个纯文本内容控件的文档。到目前为止,我可以枚举文档中的SDT元素,找到所有感兴趣的SDT块,并根据需要替换文本

接下来,我有一个RichText格式的字段,可以从数据库中以字符串形式检索,现在需要将其插入文档中。我已经在文档中设置了富文本内容控件,但是如何设置/替换富文本字符串并保留正确的格式

让我更困惑的是,当我用“Word2007ContentControlToolkit”打开文档时,它会按预期显示所有内容控件,并正确地将其标识为富文本类型。但是,当我使用“open XML SDK 2.0 Productivity Tool”打开文档时,它会将富文本控件显示为一个简单的SdtBlock,它看起来与纯文本内容控件完全没有区别,并且反射的代码看起来是相同的


那么如何在文档中设置RichText字符串?

纯文本和富文本内容控件通过内容控件的属性(w:sdt/w:sdtPr)中的属性来区分

富文本内容控件可以包含WordML段落和表格,或内联内容等,具体取决于它的级别(块、内联、表格行、表格单元格)

因此,您需要将数据库内容转换为适当的WordML,或者在内容控件中包含一个altChunk,然后让Word为您完成