你好,
我想了一下你的问题,对于如何解决你的问题,大方向有2个:
1)就是按照你说的 你可以增加一个Loading Wait...的效果去处理。
2)其实你也可以使用虚拟化去做,如果不是项目特殊需要,你不一定要一次就加载1000个Items。
如果你选择解决方案1,我想你唯一的问题就是:
-->我如何才能捕捉到listbox绘制完毕的事件呢?
第一种方案,我觉得你要用多线程的方法,用Dispatch,然后把“listbox5.ItemsSource = icons;” 加到BeginInvoke中,再加一个CallBack,根据这个去看ListBox什么时候绘制完毕。
第二种方案,你可以使用BackgroundWorker,这个里面是有“RunWorkCompleted”时间,通过这个时间你可以知道什么时候绘制完成,下面的资料你可以参考一下:
下面这两个链接是一起工作的:
另外相关的帖子(英文论坛那边的):
你也可以自己在网上找到一些例子。
---------------------------------------------------------------------------------------------------------------------------------------------
如果你选择开启虚拟化,就是第二个方向,我想你可以在搜索关键字“listbox virtualization”找到你想要的。
Best regards,Sheldon _Xiao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.