2012-03-04 124 views
0

早上好,刷新數據後添加新

我想在列表框綁定後,然後我添加新的刷新數據。 我使用的是MVVM設計模式,所以我的ViewModel有屬性AllGroups,每個組都有屬性TotalCount和Name。 屬性AllGroups是ObservableCollection。

在列表框中,我顯示了組和TotalCount的名稱。 TOTALCOUNT剛剛通過的getter

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 2012-03-04 15:48:53

回答

2

你應該實現在包含TotalCount

INotifPropertyChanged一旦在Item集合中的任何改變募集屬性更改事件TotalCount物業通知ViewTotalCount已更改,更新視圖與最新值

1

實施INotifyPropertyChanged,提高NotifyPropertyChanged事件TotalCount當收集的變化,這樣的:

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

這個結構究竟意味着什麼?這是我的團體級別http://pastebin.com/Rmy4KNEN和物品級別http://pastebin.com/2TzJbtNU。 INotifyPropertyChanged我已經實現。如何在引用類Group中的類Item中引發更改的事件? – 2012-03-04 22:21:02

+0

這兩個都不包含ObservableCollection,這應該在ViewModel上完成。 – 2012-03-05 07:41:14

+0

這是我的DataContext和ViewModel。 http://pastebin.com/s9zp4s8b屬性TotalCount只是爲了幫助,我可以使用Groups.Items.Count。問題在於關係。當我創建Item並將其添加到AllItems集合中時,此新項目具有屬性Group,但此組不知道存在與此組關聯的新項目。我怎麼能告訴這個小組:「嘿,存在與你有關係的新項目,刷新你自己!」 ?? :) – 2012-03-08 20:47:01