2010-05-21 40 views
2

簡短的問題是 - 我怎樣才能防止(延遲)一個綁定的UI元素刷新,直到我想要它?ItemsControl中的UI元素的WPF延遲刷新

的更詳細的解釋: 我有一個過程,增加了一些項目,以一個ItemsControl,然後執行上使用後臺線程這些項目的一些額外計算。這(正確)更新項目。

但是,我想阻止ItemsControl在特定計算過程中更新,因爲它在對項目執行基於該順序的附加計算之前執行某些項目的重新排序,然後將項目返回到其原始順序。

我在ItemsControl上面顯示了一個「Please Wait」動畫,ItemsControl變暗,因爲它正在工作,但我寧願不完全隱藏ItemsControl,因爲它給用戶一個指示進度正在進行的指示製作。

回答

3

您可以創建一個存儲計算結果的時間集合,然後,一旦完成,您可以將其分配給您綁定的屬性?

+1

對此的一點評論......如果您使用的是ObservableCollection <>,它會讓UI知道每次集合更改時它都會更新。如果您使用List <>,那麼您可以等到所有元素都添加完畢,然後使用INotifyPropertyChanged,您可以讓UI知道它已更改。 – JSprang 2010-05-21 14:41:52

+0

我可以這樣做,在這種情況下。不過,我希望得到更通用的答案...... – 2010-05-21 15:57:22