关于WPF的ComboBox中Items太多而导致加载过慢的问题(转载)
2009-02-26 16:33
896 查看
我 的一个同事在加载字体列表时遇到了一个让人崩溃的问题:由于系统字体可能较多(可能有好几百项),导致使用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
原文: http://www.cnblogs.com/zhouyinhui/archive/2008/05/21/1203794.html
<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
原文: http://www.cnblogs.com/zhouyinhui/archive/2008/05/21/1203794.html
相关文章推荐
- 关于WPF的ComboBox中Items太多而导致加载过慢的问题
- 关于WPF的ComboBox中Items太多而导致加载过慢的问题
- 关于fonts.useso.com导致的页面加载过慢问题
- 转载: 关于使用Spring导致c3p0数据库死锁问题 zz
- 【转载】关于C#中动态加载AppDomain的问题
- [转载] DllMain中不当操作导致死锁问题的分析--加载卸载DLL与DllMain死锁的关系
- wpf ComboBox 绑定 以及绑定项过多加载过慢问题
- 关于加载fonts.useso.com导致页面加载过慢问题
- 关于fonts.useso.com导致的页面加载过慢,有时是超时的问题。
- 关于Android4.4以下版本Webview执行LoadUrl加载js导致键盘隐藏的问题(富文本编辑器)
- 【酷熊科技】工作积累 ----------- Unity3D UITable协程加载问题 (转载 ---- 关于NGUI中UiTable和UIGrid脚本的一点感受)
- 关于WPF加载WinForm界面,WinForm界面显示错位、按钮大小变大的问题
- 关于C# wpf Frame 一次加载多个Page 的问题
- [转载] window.onload 关于页面加载完毕的问题
- 关于自定义对话框加入自定义ListView和getView多次加载导致EditText获取文本的问题
- 构造函数的职责 -- 关于全局变量的构造函数里执行太多复杂操作导致的问题
- 关于android text view 加载第三方字库导致内存泄漏问题
- 关于ListView异步加载图片导致图片显示混乱以及ListView效率问题探讨
- 关于VC6.0打开庞大工程时,ClassView加载不出来直接卡住或导致Workspace空白的问题
- 关于ViewPager加载多个导致OOM内存溢出的问题。