Silverlight用户控制问题

时间:2014-01-12 18:28:50

标签: c#-4.0 silverlight-5.0

我正在尝试创建一个Repeater模板用户控件,即一个矩形边框包含一行UIElements像TextBox,ComboBox等,然后我会自动在行的末尾添加一个+按钮。开+按钮单击我要在其下方添加相同的重复行。

这是使用用户控件的语法:

<RepeaterTemplate>
 <RepeaterTemplateItem>
  <TextBox />
  <ComboBox />
 </RepeaterTemplateItem>
</RepeaterTemplate>

背后的代码:

RepeaterLayoutItem:

Public Grid RepeaterRow {get;组; }   公共列表LayoutItemCollection {get;组; }

//在+按钮上单击处理程序:

RepeaterLayoutItem duplicate = this.memberWiseClone();  LayoutItemCollection.Add(副本);

RepeaterLayout:   public ObservableCollection Children {get;组; }   public Grid RepeaterContentGrid {get;组; }

foreach(Children中的RepeaterLayoutItem项)  {    Grid duplicateRow = item.RepeaterRow;

RepeaterContentGrid.Children.Add(duplicateRow); //这里在+按钮点击时给出错误“元素已经是其他元素的子元素”。

}

我也尝试使用ICloneable接口,但问题仍然存在。

如果我使用memberWiseClone()复制该行,仍然在添加重复行时我得到相同的错误。可能是因为克隆的重复行中的Parent属性的非null值。

我不知道如何使这项功能正常运作。请帮助。

谢谢, GK Prajapati

0 个答案:

没有答案