2012-02-04 44 views
1

我有一個數據網格視圖。此數據網格綁定ViewModel中的ObservableCollection屬性。刷新MVVM模式中的DataGrid

我編輯dataGrid中的一些數據,並且由代碼更新字段,因爲它取決於某些操作。那麼,如果我檢查可觀察集合中的項目,我可以看到所有數據都是正確的,但dataGrid中的信息不是刷新。

我想強制刷新,因爲我知道,當我添加o刪除項目時,observableCollection只會引發更改屬性事件,但如果我編輯其中一個項目,則不會。

因爲我使用的是Entity Framework 4.1,所以dataGrid的ItemsSource實際上是DbSet的本地,所以我不知道如何在模型edmx的類中實現notifyPorpertyChanged,並且我正在尋找替代方案,就像強制刷新dataGrid一樣。

因爲我用來綁定DataGrid的ItemsSource的ViewModel的屬性是對本地的引用,我的意思是設置屬性我做myProperty = myContext.MyTable.Local,並引發事件PropertyChanged我在我的ViewModel中實現,我嘗試再次執行myProperty = myContext.MyTable.Local以嘗試引發事件並強制刷新數據網格,但它不起作用。

我還有什麼替代方案?

+1

最簡單的方法是創建自己的模型並將實體映射到它們。 – vorrtex 2012-02-04 22:33:20

+0

謝謝。最後,我在.tt文件中的類的所有屬性中實現INotifyPropertyChanged。 – 2012-02-09 18:51:31

回答

1

確保您將綁定模式設置爲TwoWay。在你的屬性OnPropertyChanged的設置部分實現,其餘部分應該自行處理。