2010-10-27 37 views
2

我有一個DataTemplate,我用它來顯示ListBox中某個班級的詳細信息。 DataTemplateEventTrigger附加到項目的Loaded事件中,該事件使用DoubleAnimation將每個項目添加到ObservableCollection中,並將其綁定到ListBox,從而將每個項目都褪色。它還有一個DataTrigger,它使用DoubleAnimationColorAnimationRepeatBehavior="Forever")在特定條件下對發光效果進行動畫處理。到現在爲止還挺好。更新沒有ListBox.Items.Refresh()的WPF ListBoxItem?

該應用程序要求項目屬性需要每隔幾秒更新一次。更新ListBox中某個項目的屬性時,出現問題時調用ListBox.Items.Refresh()。這會重置動畫,以便每個項目都會淡入視圖中,並且每隔幾秒重新啓動一次發光效果。如果我不撥打Refresh,則項目屬性值不會更新。我的問題是,有沒有辦法單獨更新每個項目或以某種方式解決此問題?

回答

5

確保在您的ObservableCollection<T>單個項目實施INotifyPropertyChanged。只要他們這樣做,綁定應該自動更新,而不需要明確的刷新。

+0

對不起,裏德,我只是在我看到你的答案之前回答自己。無論如何,我會給你信用的。 :) – Sheridan 2010-10-27 21:16:28