我们在虚拟模式(http://msdn.microsoft.com/en-us/library/cc488276.aspx)的C#项目中使用来自VB powerpacks控件的DataRepeater。
我们已经实施了必需的处理程序:
- ItemValueNeeded
- NewItemNeeded
- ItemsRemoved
我们有一个删除所有项目按钮,基本上执行以下操作:
this.Model.RemoveAllItems();
// This is the recommended way to force the DataRepeater to refresh against the data.
this.ColumnsDataRepeater.BeginResetItemTemplate();
this.ColumnsDataRepeater.EndResetItemTemplate();
this.DataRepeaterControl.ItemCount = this.Model.ItemCount;
在这段代码的最后,我在DataRepeater中找到一个幻像行。如果在按全部删除按钮之前滚动转发器,则仅显示该行。它是一个带控件的实际行,DataRepeater会为它触发ItemValueNeeded事件。尝试使用幻像行中的任何控件会导致应用程序崩溃。我不确定我们做错了什么。