EF对象属性更改 - MVVM

时间:2011-03-28 16:19:07

标签: c# wpf entity-framework mvvm

我有一个viewEodel,它有一个EF对象作为其属性之一。该视图有几个文本框通过Text="{Binding Path=MyEFTable.Column1}"连接到该属性。我正在使用MVVM Light工具包,因此我的viewmodel继承ViewModelBase,随后每个属性在更改时调用RaisePropertyChanged()

我注意到,但更改MyEFTable.Column1并未在viewmodel中引发任何更改。我认为EF对象跟踪了任何更改,因此我假设更改EF对象中的列值将导致EF对象本身被更改。它是否不再跟踪更改,因为我实际上是将查询结果复制到新的MyEFTable对象中?

1 个答案:

答案 0 :(得分:0)

您的可绑定对象是否实现了INotifyPropertyChanged或它的容器,如ObservableCollection? 你是在崛起吗?

使用视图模型只是一个开始。您应该检查的第一件事是在编辑发生后查看Column1属性是否正在更新。如果是TextBox,则UpdateSourceTrigger的默认值为LostFocus。也许您可以尝试将其更改为PropertyChanged。 如果在MyEFTable.Column1中更新了值,则表示您已完成。如果没有,那么有些东西正在使用INotifyPropertyChange。

添加更多信息,问题可能更清楚。

HTH