我的页面上有两个 RichTextbox。我将它们用作 Book 界面。有两个按钮可以向前和向后。
向前遍历页面工作正常。但是一旦我回击,VS2010 就会抛出异常
Element is already the child of another element.
这是我在 RichTextbox 中添加的段落。即使我在用新数据淹没 RichTextboxes 之前清除它们,也会发生这种情况。
我的代码如下。我错过了什么?
TxtBlobLeft.Blocks.Clear();
TxtBlobRight.Blocks.Clear();
foreach (Paragraph item in pagesStack[count].paras)
{
TxtBlobLeft.Blocks.Add(item); //Throws exception here
}
foreach (Paragraph item in pagesStack[count + 1].paras)
{
TxtBlobRight.Blocks.Add(item);
}
注意:pagesStack 是一个以 Paras(即 List)为属性的自定义对象。
最佳答案
似乎 Clear 没有删除段落对 RTB 的父引用。我使用以下 forach 循环为清除所有项目创建了一个新方法。
foreach (Paragraph item in paras)
{
Page1.Blocks.Remove(item);
}
paras 是我之前添加到 RTB 的段落列表。
关于c# - 即使在清除 RichTextbox 后,段落仍显示为另一个元素的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729909/