2012-05-03 64 views
0

我有一个后台工作者,我用它来填充我的TreeView绑定的集合。当背景工作器正在运行时,我有GUI显示进度对话框。我在BackgroundWorker的RunWorkerCompleted事件中关闭了进度对话框。这一切都很好,如预期的那样。WPF TreeView刷新的性能

问题是在进度对话框关闭后,TreeView经常需要一段时间才能更新。有时很多数据已被添加到TreeView中,因此刷新可能需要10秒左右的时间。这会导致用户感到沮丧和困惑。

  • 为什么TreeView刷新需要这么长时间?
  • 有没有办法加快速度?
  • 要知道何时刷新/重画完成,所以我可以关闭进度对话框,而不是当我的背景工作完成时?

更新:我打开了虚拟化。

+0

是你的树必然要什么类型的集合?你的物品模板有多复杂?你能描述一下你的TreeView和ViewModel是如何实现的。 –

回答