WPF:如何在不阻止动画的情况下更新UI

时间:2017-08-25 17:32:25

标签: wpf multithreading animation

在我的WPF应用程序中,我有一个ListViewGridViewViewItemsSource的{​​{1}}绑定到ViewModel中的ItemsCollection。

ListView有很多列,而GridView可能包含很多项目。

当窗口加载或用户更新此ListView时,我会在从服务器检索新数据并使用新数据更新ViewModel中的ItemsCollection时显示加载动画。

这种数据检索已经异步完成,因此加载动画不断旋转。但是一旦检索到数据并且绑定要更新ListView,加载动画就会冻结,直到UI的更新完成。

即使绑定更新UI,如何使我的加载动画保持旋转?

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

修改

好吧,那个绑定在主线程中运行,你的动画运行的是同一个线程。

显然,我以前的解决方案不会帮助你。您必须找到一种方法来减少渲染视图所需的时间。分享一些工作代码,也许有人可以帮助你。

其他选择是停止动画并显示静态内容。这样你就可以隐藏这个问题了。它不是一个很好的解决方案,但如果你找不到其他的,这可能是你唯一的解决方案。