我试图在段落上使用字处理InsertAt
方法,但是当我使用此方法时,我的段落样式始终设置为null。我发现我使用的索引是0,是ParagraphProperties,Run是索引1.但是,当没有设置段落属性时,唯一的子元素段落是运行OpenXml - 在段落中查找第一个Run元素的索引
是否存在一致的查找方式指数运行在?或者它会一直在0或1?
代码片段上下文
var run = new W.Run() { RunProperties = new W.RunProperties() { NoProof = new W.NoProof() } };
run.AppendChild(dr);
para.InsertAt(run, 0);
显然,我可以做一些像Math.Min(1, para.Count - 1)
,但我不能确定是否有任何其他的元素可以被添加到该段和运行要素最终被中间元素
是的,我意识到可能有多个运行,我正在寻找第一个...更新问题标题,以反映:) 那么'para.InsertAt(run,indexOfFirstRun)'和'para .InsertBefore(run,para.GetFirstChild())'? InsertAt方法似乎在索引提供之前插入(或者将其他所有内容向下移动,并将其插入到该索引处) –
p3tch
我仍然不确定为什么在ParagraphProperties索引处的InsertAt空值属性,但工作正常你插入一个运行的索引 – p3tch