一个C# WPF ListBox的加载屏幕

3
我正在使用一个列表框,其中大约有500个缩略图(项目),可以进行排序和搜索。
由于我正在使用默认的数据绑定和搜索描述符(据说由于反射而变慢),因此列表需要花费几秒钟的时间加载、排序和搜索(根据搜索框的内容动态更新列表,因此输入前一两个字母会非常缓慢)。
考虑到项目时间表,我不认为我能完全放弃反射,速度也不是特别重要,但我希望有某种图形指示延迟,以便不会让用户感到困惑。我该如何做像网站视频加载屏幕那样的东西,其中列表框变灰并且某种加载圆圈表示正在处理,直到列表准备好?或者甚至只是变成灰色,并显示“正在加载...”几秒钟就可以了。有什么想法吗?
提前感谢您的帮助和建议!!!
3个回答

1

谢谢,我会去查看这个! - evan

1

0

尝试使用BackgroundWorker

使用DoWork方法根据搜索关键字动态更新列表 使用ProgressChanged方法通过一些动画来更新您的UI,显示“正在加载”。可以使用ProgressBar

使用Dispatcher在DoWork方法中访问您的列表


我会尝试在后台工作器中进行搜索和排序,并告诉您是否消除了延迟。您知道有没有一种方法可以在工作器工作时在列表框上叠加灰色/透明框? - evan
一个不带描边的黑色矩形控件,透明度为50%,可能适合您的需求。 - Amsakanna
根据窗口的背景颜色,将控件的不透明度值更改为0.4也会使其呈现出灰暗的外观/感觉。 - Marko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接