【发布时间】:2012-02-04 20:08:57
【问题描述】:
我有一个带有数据网格的视图。此数据网格在 ViewModel 中绑定一个属性,即 ObservableCollection。
我在dataGrid中编辑了一些数据,通过代码更新了一个字段,因为它依赖于一些操作。好吧,如果我检查可观察集合中的项目,我可以看到所有数据都是正确的,但是 dataGrid 中的信息没有刷新。
我想强制刷新,因为我知道 observableCollection 仅在我添加或删除项目时引发更改属性事件,但在我编辑其中一项时不会引发。
因为我用的是Entity Framework 4.1,所以dataGrid的ItemsSource确实是DbSet的本地,所以不知道怎么在模型edmx的类中实现notifyPorpertyChanged,正在寻找替代方案,喜欢强制刷新dataGrid。
因为我用来绑定 dataGrid 的 ItemsSource 的 ViewModel 的属性是对本地的引用,我的意思是要设置我做的属性 myProperty = myContext.MyTable.Local 并引发事件 PropertyChanged 我在我的 ViewModel 中实现,我尝试再次执行 myProperty = myContext.MyTable.Local 以尝试引发事件并强制刷新 dataGrid,但它不起作用。
我有什么选择?
【问题讨论】:
-
最简单的方法是创建自己的模型并将实体映射到它们。
-
谢谢。最后,我在 .tt 文件中类的所有属性中实现了 INotifyPropertyChanged。
标签: wpf mvvm datagrid entity-framework-4.1 viewmodel