【问题标题】:Fastest iteration and display image based on data?基于数据的最快迭代和显示图像?
【发布时间】:2012-03-08 09:58:52
【问题描述】:

我有一个 sql 数据库,其中包含 10000 多个条目,这些条目填充在 wpf 列表框中。我想根据表格一列中的整数显示图像。我对每个整数只有 >10 个选择,所以我只需要 @ 10 张图片。

我的问题是,如果用户向下滚动列表框,使用 c# 和 wpf 将图像链接到值的最快方法是什么?

我宁愿不使用列中图像的地址,因为数据的存储非常宝贵,我宁愿只匹配它。

这就是我的意思:

someInt |一些数据

(DisplaySomeImageHere) | thisWouldBeTheNumber1
(DisplayOtherImageHere) | thisWouldBeTheNumber2
等等

但我有成千上万的条目。滚动这些并以最快的方式添加图像的最佳方式是什么?

【问题讨论】:

  • 不,你们不明白这个问题。这不是“填充列表框的最快方法是什么”,而是“将图像与 sql 数据库中的值匹配,然后将其放入列表框的最快方法是什么?”

标签: c# wpf image listbox


【解决方案1】:

从 SQL 中检索数据的最快方法是使用本机 SqlDataReader。

要显示数据,如果您有很多项目(10,000+ 被认为是很多),您应该检查虚拟模式。

查看另一个问题:

How do I populate a ListView in virtual mode asynchronously

【讨论】:

    【解决方案2】:

    除了Virtualization(在ListBox 中默认启用)之外,要加快滚动速度,您应该使用Container Recycling

    <ListBox VirtualizingStackPanel.VirtualizationMode="Recycling" />
    

    这应该会加快滚动速度,因为您不会在将容器滚动到视野之外时破坏它们。

    【讨论】:

      猜你喜欢
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2011-09-05
      • 2013-10-23
      相关资源
      最近更新 更多