您的位置:首页 > 其它

关于WPF的ComboBox中Items太多而导致加载过慢的问题

2008-05-21 10:12 597 查看
【WFP疑难】关于WPF的ComboBox中Items太多而导致加载过慢的问题

周银辉

我的一个同事在加载字体列表时遇到了一个让人崩溃的问题:由于系统字体可能较多(可能有好几百项),导致使用ComboBox显示字体列表异常缓慢,需要让人抓狂的3~5秒,这是由于ComboBox在展开列表时绘制了列表中的每一项,为了避免这个问题,我们可以使用VirtualizingStackPanel来代替ComboBox默认的项目面板StackPanel:

<ComboBox x:Name="comboboxFontList"

VerticalAlignment="Top">

<ComboBox.ItemsPanel>

<ItemsPanelTemplate>

<VirtualizingStackPanel />

</ItemsPanelTemplate>

</ComboBox.ItemsPanel>

</ComboBox>

然后速度就很快了哈,与仅仅加载少量项目速度一样快,因为其只绘制了当前被显示的项。
关于VirtualizingStackPanel可以参考这里: http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐