1

好的,你们中的大多数人会说“在将元素添加到新面板之前从其先前的父元素中删除它”。我知道,我已经在其他情况下多次应用了这个,我无法解释为什么它在这种特殊情况下不起作用。

这是我的调试会话的摘录以及发生异常的位置:

在此处输入图像描述

如您所见,我的元素的父元素没有子元素!你有什么建议吗?我该如何诊断这个问题?谢谢 !

编辑:我准确地说,该元素以前已添加到用于生成 XPS 的面板中,并在生成完成后删除。==> 这是在我们进入“AddNewSpecialElement 方法”之前完成的,但它不应该改变上面的问题。

4

1 回答 1

0

问题解决了。解释。

当我按照这些步骤操作时出现了问题:

  1. 在屏幕上绘制一个视觉列表(所有视觉都放在一个 stackPanel 中)==> 好的
  2. 从 stackPanel 中删除视觉效果以在我自己的 DocumentPaginator 中使用它们 ==> 好的
  3. 打印或导出它们(例如使用PrintQueue.CreateXpsDocumentWriter().Write(paginator))。==> 好的
  4. 导出完成并处理 Paginator 后,将视觉效果添加到原始 stackPanel 以再次在屏幕上显示它们 ==> 好的
  5. 开始一个新的 XPS 导出,从第 2 步开始重复 ==> 异常!

我认为处理 Paginator 就足够了。我没有理由认为它不是,因为第 4 步效果很好。事实上,我必须在步骤 3b 中从分页器内的父视觉对象中显式删除视觉对象。

谢谢阅读。

于 2012-07-09T15:03:29.423 回答