2010-04-16 92 views
3

我使用的列表框中平均可以排序和搜索约500个缩略图(项目)。c#wpf列表框的加载屏幕

因为我使用默认的数据绑定和搜索描述符(我听说由于反射速度很慢),列表需要几秒钟的明显暂停加载,排序和搜索(列表动态更新基于搜索框的内容,因此输入的第一个或两个字母确实很慢)。

我不认为我可以完全消除反射给项目的时间框架,速度不是非常重要的,但我希望某种图形指示延迟,所以它不会混淆用户。我怎么能做一个像网站视频加载屏幕的列表框灰色和某种加载圈指示它正在处理,直到列表准备好?或者甚至只是变成灰色的“加载...”几秒钟可以工作。有任何想法吗?

在此先感谢您的帮助和建议!

回答

0

尝试BackgroundWorker

使用DoWork的方法来更新您的列表动态基于搜索的关键字 使用ProgressChanged方法来更新您的用一些动画说'加载'的用户界面。一个进度条可用于

使用调度访问的DoWork方法

+0

我会尽力在后台工作人员中进行搜索和排序,并让您知道它是否摆脱了滞后。有一种方法可以在工作人员正在工作时在列表框上超出灰色/透明框的位置,而您知道吗? – evan 2010-04-16 21:15:07

+0

具有50%不透明度的无叶黑色矩形控件可能适合您的需要。 – Amsakanna 2010-04-17 20:29:16

+0

根据窗口背景颜色的不同,将控件的不透明度值更改为0.4也会使视觉感受变灰。 – Marko 2010-10-16 17:07:15