在我的主窗口中,我有
初始化内容演示者时,想法是显示此面板。
在树视图中选择项目:
要初始化此内容,我在主窗口viewmodel中使用一个任务,以便UI保持响应。在此任务中,当我需要更新UI时,我使用Application.Current.Dispatcher.BeginInvoke来操作我的UI线程。这样,当在另一个线程中处理任务时,我的加载gif播放顺利。
现在,假设我的内容演示者中有一个包含二十列的数据网格,它绑定到我的主视图模型中的ObservableCollection。在我的任务中,如果我向此集合添加1000个项目,当UI更新以显示内容时,它会在十分之几秒内无法响应并且我的gif停止;基本上UI冻结了。
我如何确保等待面板始终保持响应并且gif保持平稳播放?
答案 0 :(得分:0)
好吧,我所要做的就是在另一个线程中创建内容演示者的内容,然后在完成所有操作后将结果分配给我的内容演示者(例如,在bgw RunWorkCompleted中)。