当前位置: 首页 > news >正文

旅游网站前端建设论文营销活动策划

旅游网站前端建设论文,营销活动策划,网站开发属于软件吗,川汇网站建设WPF列表性能提高技术 WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自ItemsControl的控件都支持该技术。 虚拟化 UI虚拟化是列表仅仅为当前显示项创建…

WPF列表性能提高技术

WPF数据绑定系统不仅需要绑定功能,还需要能够处理大量数据而不会降低显示速度和消耗大量内存,WPF提供了相关的控件以提高性能,所有继承自ItemsControl的控件都支持该技术。

虚拟化

UI虚拟化是列表仅仅为当前显示项创建容器对象的一种技术。例如ListBox控件具有1000条记录,但是每次只能显示30条记录,则ListBox仅仅只创建30个ListBoxItem就可以了。

UI虚拟化技术其实并不是ItemsControl类的实现,而是使用VirtualizingStackPanel容器来实现的,它除了增加虚拟化的支持其他都和StackPanel功能类似。像ListBox、ListView、DataGrid等都是使用了该容器来布局子元素。注意:ComboBox使用的是StackPanel,所以不支持虚拟化,需要自定义ItemsPanelTemplate来实现虚拟化

<ComboBox><ComboBox.ItemsPanel><ItemsPanelTemplate><VirtualizingStackPanel/></ItemsPanelTemplate></ComboBox.ItemsPanel>
</ComboBox>

TreeView同样支持虚拟化,但是默认关闭。<TreeView VirtualizingStackPanel.IsVirtualizing="True"/>

破坏虚拟化意外情况

ScrollViewer中放置列表控件

ScrollViewer会提供无限的虚拟空间,但是如果在该虚拟空间中放置列表控件后(如ListBox),ListBox会以完整尺寸渲染本身,然后显示所有的子项,这样每项在内存中都有各自的ListBoxItem对象。其实将ListBox放到任何不限制其尺寸的容器中都有这个问题,比如将ListBox放到StackPanel中。

改变列表控件的模板并且没有使用ItemsPresenter

ItemsPresenter使用了ItemsPanelTemplate,该模板制定了VirtualizingStackPanel面板。

不使用数据绑定

使用编程的方式填充列表不会使用虚拟化。

容器再循环

当滚动支持虚拟化列表时,控件会不断释放旧的对象且创建新的项容器对象。但是启用了容器再循环,则保持少量的Items存活,滚动时加载这些Items,这样垃圾收集器不需要查找旧的对象并释放。默认DataGrid开启该特性。其他控件需自行设定。

<ListBox VirtualizingStackPanel.VirtualizationMode="Recycling"/>

缓存长度

VirtualizingStackPanel其实会多创建几个超过显示范围的子项,以便于滚动时直接显示。可以使用CacheLengthCacheLengthUnit调整缓存精度。缓存是以优先级较低的后台线程上进行缓存。

<!--缓存可见项之前和之后的附加页-->
<ListBox VirtualizingStackPanel.CacheLength="1" VirtualizingStackPanel.CacheLengthUnit="Page"/>
<!--缓存可见项之前和之后的100项-->
<ListBox VirtualizingStackPanel.CacheLength="100" VirtualizingStackPanel.CacheLengthUnit="Item"/>
<!--缓存可见项之前100,之后500项-->
<ListBox VirtualizingStackPanel.CacheLength="100,500" VirtualizingStackPanel.CacheLengthUnit="Item"/>

延迟滚动

延迟滚动可以让用户在滚动条上拖动滑块时不会更新列表显示。只有当用户释放了滑块后才刷新。

<ListBox ScrollViewer.IsDeferredScrollingEnabled="True"/>

VirtualizingStackPanel默认是基于项的滚动,也就是至少滚动显示出一个完整项目,可以自行设置是基于项的滚动还是像素的滚动。

<ListBox VirtualizingStackPanel.ScrollUnit="Pixel"/>

注意:ItemsControl本身默认不启用虚拟化

为ItemsControl开启虚拟化参考ItemsControl的常见用法最后一章节

http://www.hkea.cn/news/48725/

相关文章:

  • 义乌网站建设多少钱网络平台营销
  • 怀仁有做网站的公司吗磁力搜索引擎2023
  • 建站行业都扁平化设计合肥网站推广公司哪家好
  • 做企业网站织梦和wordpress哪个好百度指数查询工具app
  • 郑州网站服务公司优化神马排名软件
  • 茶叶网站建设的优势南宁seo外包平台
  • 高古楼网站 做窗子北京seo技术交流
  • 南阳建设网站制作网络最有效的推广方法
  • 纯静态网站seoseo排名优化北京
  • 开封网站建设哪家好指数计算器
  • 网站开发 架构石家庄seo关键词排名
  • 可以免费做商业网站的cms百度seo霸屏软件
  • 哪家网站建设专业快速建站教程
  • 坪山网站建设行业现状优化seo方案
  • 做网站需要架构师吗网站平台有哪些
  • 网站建设丿选择金手指15凡科建站官网
  • 可以做外国网站文章武汉企业seo推广
  • 天津网站建设公司最好太原做网站哪家好
  • 网站代下单怎么做百度指数数据分析平台入口
  • 淘宝做动效代码的网站seo的优化方向
  • 番禺建网站公司网站搜索工具
  • 安徽万振建设集团网站长春网站推广公司
  • 网站怎么制作 推广seo超级外链工具免费
  • 中小学网站建设探讨东莞seo整站优化火速
  • php是网站开发的语言吗企业网站的作用
  • 网站站外优化怎么做企业推广app
  • 拉趣网站是谁做的威海网站制作
  • 做宣传海报的网站百度导航2023年最新版
  • 湖南做网站 磐石网络windows优化大师官方免费
  • 制作网站的最新软件如何优化关键词的方法