2010-10-27 2 views
2

У меня есть DataTemplate, который я использую для отображения деталей из класса в ListBox. У DataTemplate есть EventTrigger, связанный с событием Loaded, который использует DoubleAnimation, чтобы выцветать каждый элемент на виду, поскольку они добавлены к ObservableCollection, который привязан к ListBox. Он также имеет DataTrigger, который использует DoubleAnimation и ColorAnimation (RepeatBehavior="Forever"), чтобы оживить эффект свечения при определенном условии. Все идет нормально.Обновление WPF ListBoxItem без ListBox.Items.Refresh()?

Приложение требует, чтобы свойства элемента необходимо обновлять каждые несколько секунд. Проблема возникает после обновления свойства элемента в ListBox при вызове ListBox.Items.Refresh(). Это сбрасывает анимацию, так что каждый элемент исчезает, и эффект свечения перезапускается каждые несколько секунд. Значения свойств элемента не обновляются, если я не звоню Refresh. Мой вопрос в том, есть ли способ обновить каждый элемент отдельно или как-нибудь обойти эту проблему?

ответ

5

Убедитесь, что отдельные предметы в вашем ObservableCollection<T> орудиях INotifyPropertyChanged. Пока они это делают, привязки должны обновляться автоматически, не требуя явного обновления.

+0

Ах, простите, Рид, я просто ответил себе, прежде чем увидел ваш ответ. Я все равно дам вам кредит. :) – Sheridan