【问题标题】:Refresh a DataGrid in the MVVM pattern在 MVVM 模式中刷新 DataGrid
【发布时间】: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


【解决方案1】:

确保您已将绑定模式设置为双向。在您的属性 OnPropertyChanged 的​​ set 部分中实现,其余部分应自行处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-28
    • 2015-12-02
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多