首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight 2中海量数据的列表框性能问题

Silverlight 2中海量数据的列表框性能问题
EN

Stack Overflow用户
提问于 2009-04-15 11:53:44
回答 2查看 828关注 0票数 2

我正在使用Silverlight 2,其中当我使用列表框控件时,我有一个性能问题。我正在绑定一个大约500条记录的对象列表,这需要3-4秒的数据绑定时间。

但是我对DataGrid没有这个问题。

有没有人知道如何改进Listbox中的性能问题?

EN

回答 2

Stack Overflow用户

发布于 2009-04-15 14:14:52

这背后的原因是DataGrid支持UI虚拟化,而ListBox不支持。这意味着DataGrid仅为可见项创建可视元素,而ListBox为其所有项创建可视元素。当您必须从可能非常大的项目列表中进行选择时,请使用DataGrid而不是ListBox。您可以设置DataGrid的样式并使用TemplateColumn使其看起来就像ListBox一样。

迈克尔

票数 4
EN

Stack Overflow用户

发布于 2009-04-15 11:59:04

在不了解应用程序的其他上下文的情况下,可能会发生一些事情。首先想到的是你有一个非常“沉重”的视觉树。ListBox中的每一项都将创建一些可视对象的图形。拥有的越多,渲染所需的时间就越长。

当这些项目在屏幕上不可见时,Silverlight仍在执行渲染它们的工作。基本上,这意味着正在对所有数据绑定ListBox项执行布局()和度量()传递,即使它们不可见。

这里有一篇博客文章,描述了如何使用StackPanel来做到这一点。

http://blogs.msdn.com/uberdemo/archive/2009/02/18/a-virtualizedstackpanel-control-in-silverlight-2-0.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/751367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档