我有ListBox
绑定到大量自定义对象,其中包含Bitmap
。
目前我遇到了内存问题因为所有位图都已加载,即使它们不可见。
我希望ListBox
以某种方式通知我的模型,以便我可以根据需要加载/卸载位图,以避免加载所有这些位图。因此,只能加载在ListBox边界内可见的位图。
我怎么能这样做? 非常感谢!
答案 0 :(得分:0)
如果您检查了集合中每个项目的ItemContainerGenerator.ContainerFromItem
,那么如果项目不在视图范围内且已启用虚拟化,则应返回null
。
或强>
来自HttpResponse:
- 获取ListView的ScrollViewer(使用FindDescendant方法,您可以使用VisualTreeHelper自行完成)。
- 阅读其ScrollViewer.VerticalOffset:它是显示的第一个项目的编号
- 阅读其ScrollViewer.ViewportHeight:它是显示的项目数。
Rq:CanContentScroll必须为true。