Обновить данные в ListBox после добавления нового - PullRequest
0 голосов
/ 04 марта 2012

Доброе утро,

Я хочу обновить данные с помощью Binding в списке после того, как я добавлю новый.Я использую схему проектирования MVVM, поэтому моя ViewModel имеет свойство AllGroups, а каждая группа имеет свойства TotalCount и Name.Свойство AllGroups является ObservableCollection.

В списке я показываю название группы и TotalCount.У TotalCount есть только получатель, реализованный с помощью

public int TotalCount
{
  get
  {
    return Items.Count;
  }
}

, а TotalCount не является столбцом.

У меня есть группа «Все» с 2 элементами (TotalCount = 2), но когда я добавляю новый элемент вgroup и show list of groups Я вижу «All» и TotalCount = 2, но когда я снова запускаю приложение, я показываю «All» и «3».

Итак, как я могу обновить данные вручную?Спасибо за помощь.:)

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Вы должны реализовать INotifPropertyChanged в классе, который содержит TotalCount

Если есть какие-либо изменения в коллекции Item, вызовите событие измененного свойства для свойства TotalCount, чтобы сообщить View что TotalCount было изменено, поэтому обновите View с последним значением

1 голос
/ 04 марта 2012

Реализация INotifyPropertyChanged, вызвать событие NotifyPropertyChanged для TotalCount при изменении коллекции, например:

AllGroups.CollectionChanged += (s, e) => OnNotifyPropertyChanged("TotalCount");
...