2010-05-21 74 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