Data binding 如何通过OpenXML在内容控件中插入文本格式

Data binding 如何通过OpenXML在内容控件中插入文本格式,data-binding,openxml,openxml-sdk,Data Binding,Openxml,Openxml Sdk,我得到一些数据,并从中生成一个自定义XML文件。我有一个Microsoft Office Word文档,其中包含富文本内容控件。我使用以下方法将数据绑定到内容控件: private void BindControl(WordprocessingDocument doc, string controlTitle, DocumentFormat.OpenXml.StringValue xPathValue) { DataBinding dataBinding = new DataBindin

我得到一些数据,并从中生成一个自定义XML文件。我有一个Microsoft Office Word文档,其中包含富文本内容控件。我使用以下方法将数据绑定到内容控件:

private void BindControl(WordprocessingDocument doc, string controlTitle, DocumentFormat.OpenXml.StringValue xPathValue)
{
    DataBinding dataBinding = new DataBinding()
    {
        XPath = xPathValue,
        StoreItemId = "{SomeID}"
    };
    SdtElement sdtElement = doc.MainDocumentPart.Document.Descendants<SdtElement>()
        .Where(
            element =>
            element.SdtProperties.GetFirstChild<SdtAlias>() != null &&
            element.SdtProperties.GetFirstChild<SdtAlias>().Val == controlTitle).FirstOrDefault();
    if (sdtElement != null)
    {
        sdtElement.SdtProperties.Append(dataBinding);
    }
}
private void BindControl(WordprocessingDocument文档,string controlTitle,DocumentFormat.OpenXml.StringValue xPathValue)
{
DataBinding DataBinding=新建DataBinding()
{
XPath=xPathValue,
StoreItemId=“{SomeID}”
};
SdtElement SdtElement=doc.MainDocumentPart.Document.substanders()
.在哪里(
元素=>
元素.SdtProperties.GetFirstChild()!=null&&
元素.SdtProperties.GetFirstChild().Val==controlTitle.FirstOrDefault();
if(sdtElement!=null)
{
sdtElement.SdtProperties.Append(数据绑定);
}
}
但是,此方法只插入文本,不进行格式化

我想让输出文档中的一些文本加粗,另一些用不同的颜色,然后我必须制作超链接


我试图在XML文件中插入html格式,但结果它没有呈现,只是显示出来。

您无法绑定富文本内容控件

修正如下:

如果父结构化文档标记不是富文本类型(如 如[ISO/IEC29500-1:2011]第17.5.2.26节所述 行为类似于数据绑定(如[ISO/IEC29500-1:2011]中所规定) 第17.5.2.6)节)元素,否则为存储在XML中的数据 元素将是由展平的 WordprocessingML文档,表示 结构化文档标记范围

但是,您可以在纯文本控件的内容控件属性中包含运行属性(w:rPr)