2012-03-04 128 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