【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

转载于:https://www.cnblogs.com/zhouyinhui/archive/2008/05/21/1203794.html

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

  1. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

  2. Android中的缓存处理及异步加载图片类的封装

    一.缓存介绍: (一).Android中缓存的必要性: 智能手机的缓存管理应用非常的普遍和需要,是提高用户体验的有效手段之一. 1.没有缓存的弊端: 流量开销:对于客户端--服务器端应用,从远程获取图 ...

  3. 如何显示服务器上excel,如何在HTML中使用OWC正确显示、加载服务器端的excel文件呢?...

    如何在HTML中使用OWC正确显示.加载服务器端的excel文件呢? 我的服务器端是unix操作系统,应用是java写的 我试了很多方法,都无法将excel在浏览器中以只读的形式显示出来,环境是XP  ...

  4. 【Flutter】Flutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )

    文章目录 前言 一.混合开发中启用 Flutter 的 热重启 / 热加载 二.混合开发中 Flutter 的 热重启 / 热加载 命令测试 三.指定混合应用连接的设备 四.相关资源 前言 上一篇博客 ...

  5. android中常用的下拉刷新加载更多_如何设计“加载流程”

    为什么要处理"加载"状态 在页面拉取数据.或提交某些数据时,需要一定的时间来等待服务端返回结果.如果不处理加载,用户可能会看到一片空白,以为你的软件出错:或者因没有建立心理预期,被 ...

  6. 微信小程序中实现瀑布流布局和无限加载

    瀑布流布局是一种比较流行的页面布局方式,最典型的就是Pinterest.com,每个卡片的高度不都一样,形成一种参差不齐的美感. 在HTML5中,我们可以找到很多基于jQuery之类实现的瀑布流布局插 ...

  7. react 中使用import()实现按需加载报错 解决方法 --‘import’ and ‘export’ may only appear at the top level

    react 中使用import()实现按需加载报错 解决方法 --'import' and 'export' may only appear at the top level 参考文章: (1)rea ...

  8. Spring Boot中的配置文件使用以及重新加载

    Spring Boot中的配置文件使用以及重新加载 概要 本教程将展示如何通过Java configuration和@PropertySource或XML和property-placeholder在S ...

  9. vue中写svg组件svg图片加载不出来

    vue中写svg组件svg图片加载不出来 结构 首先要安装3个插件:svg-sprite-loader,svgo,svgo-loader npm install svg-sprite-loader - ...

最新文章

  1. 巧妙算法:找出数组中消息的数字
  2. Thymeleaf——使用模板动态生成JavaScript脚本文件
  3. HDU 5691 Sitting in Line 状压dp
  4. POJ1179 Polygon 【例题精讲】
  5. java集合课程,I学霸官方免费课程三十三:Java集合框架之Map集合
  6. mysql性能优化学习笔记
  7. 当前时间加30分钟_男性早晨坚持慢跑30分钟,一段时间后,或许这些变化不请自来...
  8. 下面这些是什么意思:@classmethod, @staticmethod, @property?
  9. 跨部门的bug的沟通
  10. 四川大学 计算机复试分数线,2015年四川大学考研复试分数线已公布
  11. 李开复:几年内电子商务上市潮会来临
  12. 北京十大律师事务所(排名涉及刑事、拆迁婚姻)
  13. 个人NAS家庭服务器解决方案概况
  14. 地球子午圈和卯酉圈曲率半径计算公式
  15. 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备...
  16. Unity 之 Ping类简析尝试使用
  17. 柚墨模板PPT干货分享:幻影动画,打造科幻大片前卫PPT
  18. 用友开发者中心全新升级,YonBuilder移动开发入门指南
  19. 对1976年Diffie和Hellman的文章《New Direction in Cryptography》的中文翻译
  20. windows8从安装到优化详细全过程——超详细图文教程

热门文章

  1. Python 闭包、单个装饰器、多个装饰器、装饰器修饰类、应用场景
  2. Redis集群管理方式
  3. nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型
  4. 面试高频!JVM必备教程~
  5. 来谈谈Servlet~~
  6. Tensorrt一些优化技术介绍
  7. 什么是智能医院?如何构建自己的解决方案?
  8. Waymo的自主进化
  9. VMware14安装CentOS7的详细教程
  10. 火狐浏览器允许ajax,解决火狐浏览器发送jquery的ajax请求无效的问题