更新没有ListBox.Items.Refresh()的WPF ListBoxItem?

时间:2010-10-27 21:06:12

标签: wpf listbox refresh listboxitem

我有DataTemplate用于显示ListBox中某个班级的详细信息。 DataTemplate项目的EventTrigger事件附加了LoadedDoubleAnimation使用ObservableCollection将每个项目淡入视图,因为它们已添加到ListBox绑定到DataTrigger。它还有DoubleAnimation使用ColorAnimationRepeatBehavior="Forever"ListBox)在特定条件下为发光效果设置动画。到目前为止,非常好。

应用程序要求每隔几秒钟更新一次项属性。在调用ListBox.Items.Refresh()时更新Refresh中项目的属性后出现此问题。这将重置动画,以便每个项目淡入视图,并且每隔几秒钟重新开始发光效果。如果我不调用{{1}},则不会更新项属性值。我的问题是,有没有办法单独刷新每个项目或以某种方式解决这个问题?

1 个答案:

答案 0 :(得分:5)

确保ObservableCollection<T>中的各个项目实施INotifyPropertyChanged。只要他们这样做,绑定就应该自动更新,而不需要显式刷新。