【发布时间】:2011-04-27 02:33:02
【问题描述】:
如何虚拟化画布?当我在画布上添加大约 1500 个项目时,它会冻结一段时间,然后我会在屏幕上看到输出。如何虚拟化它的 UI,以便 Canvas 仅占用屏幕上元素的内存,而忽略所有其余元素,直到它们进入“视图”?我想要的效果很像 VirtualizingStackPanel。 VirtualizingStackPanel 甚至可以很好地处理 15000 个项目。
提前致谢:)
【问题讨论】:
-
那为什么不使用 VirtualizingStackPanel 呢?
-
@Xin:确实非常聪明的答案:d。如果它适用于我的场景,我不会使用它吗?
-
@Xin:我可以手动设置要添加到Canvas的项目的Canvas.Top和Canvas.Left吗? VirtualizingStackPanel 可以吗?
-
@Xin:为了进一步澄清,我正在生成一个图形,我需要根据一些计算手动设置添加到 Canvas 的元素的顶部和左侧。
-
:) 嗯...你能用你的图的 Margin 属性代替吗?
标签: silverlight silverlight-4.0 silverlight-3.0