2012-03-04 2 views
0

Доброе утро,Обновить данные в ListBox после добавить новый

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

В списке я показываю имя группы и TotalCount. TotalCount только геттер реализуется

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

и TotalCount не столбец.

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

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

+0

Возможно, этот пост вам поможет -> http://stackoverflow.com/questions/7455856/wpf-datagrid-doesnt-update-after-instert-element-to-source – nosbor

ответ

2

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

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

1

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

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

Что это значит? Вот мой класс группы http://pastebin.com/Rmy4KNEN и класс Item http://pastebin.com/2TzJbtNU. INotifyPropertyChanged, который я реализовал. Как я могу поднять измененное событие в классе Item в ссылочном классе Group? –

+0

Ни один из этих двух не содержит ObservableCollection, это должно быть сделано в ViewModel. –

+0

Вот мой DataContext и ViewModel. http://pastebin.com/s9zp4s8b Свойство TotalCount просто для справки, я могу использовать Groups.Items.Count. Проблема в отношениях. Когда я создаю Item и добавляю его в коллекцию AllItems, этот новый элемент имеет свойство Group, но эта группа не знает, что существует новый элемент с отношением к этой группе. Как я могу сказать этой группе: «Эй, есть новый предмет, связанный с вами. Обновите себя!» ?? :) –

Смежные вопросы