2012-05-03 62 views
0

我有一個後臺工作者,我用它來填充我的TreeView綁定的集合。當背景工作器正在運行時,我有GUI顯示進度對話框。我在BackgroundWorker的RunWorkerCompleted事件中關閉了進度對話框。這一切都很好,如預期的那樣。WPF TreeView刷新的性能

問題是在進度對話框關閉後,TreeView經常需要一段時間才能更新。有時很多數據已被添加到TreeView中,因此刷新可能需要10秒左右的時間。這會導致用戶感到沮喪和困惑。

  • 爲什麼TreeView刷新需要這麼長時間?
  • 有沒有辦法加快速度?
  • 要知道何時刷新/重畫完成,所以我可以關閉進度對話框,而不是當我的背景工作完成時?

更新:我打開了虛擬化。

+0

是你的樹必然要什麼類型的集合?你的物品模板有多複雜?你能描述一下你的TreeView和ViewModel是如何實現的。 –

回答