我知道这里和那里有几个实现,但我仍然无法“锁定”真正有用的东西……
每当我将一些组件DataContext或ItemsSource设置为某个大对象时,就会出现这个“渲染时冻结的GUI”,这会让应用程序变得烦人(即使使用虚拟化).
我知道我可以迭代对象并逐个设置项目并显示进度,但我正在寻找一些其他方法,可以让我在GUI渲染时显示一些移动指示.我也喜欢有一些进度条,不仅让鼠标光标改变.
有没有一个体面的方式来实现以下目标?
非常感谢
Zamboni示例非常好,但仍然无法
解决冻结的GUI问题.
如上所述,当GUI忙于渲染时,目前还没有简单的方法来更新gui控件.
我目前发现了一些在gui渲染时“活着并且踢”的事件,但是在不需要的时候它应该被关闭,因为它可以每秒发射60次.
CompositionTarget.Rendering += ReportRenderProgress;
然后,无论如何,您都可以实现ReportRenderProgress(),以表示您要更新进度条.目前,我没有在WPF中看到任何更好的解决方案,以便在渲染时更新进度指示,因此我将此标记为答案.