【发布时间】:2014-03-05 15:58:55
【问题描述】:
我在虚拟模式下使用 ListView 类,以便 RetrieveVirtualItem 事件从独立的数据结构中提取项目。当我想对列表项进行重大编辑时,我会这样做:
listView.BeginUpdate();
try {
[code to reset backing data structure]
listView.VirtualListSize = backingDataStructure.Count;
}
finally {
listView.EndUpdate();
}
但是,这似乎无法正确刷新此 UI(有时不会显示添加到后备存储的新条目)。这样做的正确方法是什么?
【问题讨论】:
-
不,EndUpdate() 应该总是足以让 ListView 重新绘制,从而再次触发 RetrieveVirtualItem 事件。请在您的数据结构代码中查找错误。您可以先将 VirtualListSize 任意设置为 0。
-
@HansPassant 你是对的,这是我的后台收藏管理中的一个错误。谢谢你让我回到正确的轨道上!如果您发表评论作为答案,我会接受。