dea*_*dog 5 .net wpf virtualization listbox recycle
我正在使用WPF/.NET 4,当我将VirtualizingStackPanel.VirtualizationMode ="Recycling"属性添加到我的ListBoxes时,它会导致相同的列表项在滚动时反复重复.例如,假设我有一个包含100个项目的ListBox,一次可见10个.当ListBox首次加载时,我看到项目1 - 10,但当我开始向下滚动以查看剩余项目11 - 100时,项目1 - 10在我向下滚动时反复重复,所以我永远无法查看项目11 - 100.如果我将Recycling更改回Standard,那么一切正常,但滚动速度非常慢(我的ListItems相当复杂,其中有几个图像,文本字段和按钮).当回收打开时,滚动速度非常快,但我只能查看项目1 - 10.任何有关错误或如何修复的想法?提前致谢.
正如其名称所暗示的,回收模式通过重用渲染的ListBoxItem来起作用.当不再需要ListBox项来显示已从列表中滚动的项时,ListBox将重复使用它来显示已滚动到视图中的项.
要更改ListBoxItem显示的内容,ListBox只是将其DataContext属性设置为新项.这要求ListBoxItem的内容必须正确响应DataContextChanged事件.如果您仅使用数据绑定来填充控件,则会自动执行此操作.但是,正如您的评论所暗示的那样,您使用一些代码隐藏来更新属性,那么您需要确保您的事件处理代码正在完成工作.
| 归档时间: |
|
| 查看次数: |
2965 次 |
| 最近记录: |