Open XML SDKを使用してWordのコンテンツコントロールに段落を挿入しようとしています。Wordのコンテンツコントロールにリッチテキストの段落を挿入する正しい方法は何ですか?
私のコードがうまくいくようです(段落は単語ファイルに表示されています)。ただし、コントロールコントロールは編集できません。新しいコンテンツを挿入する前に、コンテンツ全体を消去することしかできません。
手動でコピー/ペーストをコンテンツコントロールに模倣する方法はありますか。
FYI、ここに私のコードです:
var mainPart = package.MainDocumentPart;
var sdtRuns = mainPart.Document.Descendants<SdtElement>().Where(run => run.SdtProperties.GetFirstChild<Tag>().Val.Value == "TagOfMyContentControl");
foreach (var sdtBlock in sdtRuns)
{
List<Paragraphs> paragraphs = GetParapraphsFromSomewhere();
var contentControlParagraph = sdtBlock.Descendants<SdtContentBlock>().First();
contentControlParagraph.RemoveAllChildren();
contentControlParagraph.Append(paragraphs);
}
mainPart.Document.Save();
PS:私は、より一般的な方法、WordのML要素の目的と階層を説明する任意のリソースはありますか?