您好,
我这里有一个例子,你可以试一下:
private FlowDocument FlowDocumentJoint(FlowDocument doc1, FlowDocument doc2)
{
FlowDocument FlowDocument = new FlowDocument();
List<Block> flowDocumetnBlocks1 = new List<Block>(doc1.Blocks);
List<Block> flowDocumetnBlocks2 = new List<Block>(doc2.Blocks);
foreach (Block item in flowDocumetnBlocks) //这个有问题,报错
{
FlowDocument.Blocks.Add(item);
}
foreach (Block item in flowDocumetnBlocks2)
{
FlowDocument.Blocks.Add(item);
}
return FlowDocument;
}
先用List把每个FlowDocument对象的Block存起来,然后在用foreach语句读取出来。或者你直接可以用for循环来代替foreach循环,这样可以实现你的需求。
因为BlockCollection没有实现IEnumerable接口,所以没有办法用foreach语句来循环。(因为C#有个默认的情况,只有实现了IEnumerable接口的才能用foreach语句来循环, 这里有文档
http://msdn.microsoft.com/ch-zh/library/9yb8xew9(v=VS.80).aspx)
这里有一个和你一样的问题的帖子,但是是英文的,你可以参考下:
http://www.techdreams.org/microsoft/how-to-merge-two-flowdocument-objects-using-c-codewpf/1546-20090217
http://social.msdn.microsoft.com/forums/en-us/wpf/thread/42B7D795-8C6A-4B83-87FB-069607EFECC8
Vin Jin [MSFT]
MSDN Community Support |
Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.