2013-03-22 59 views
1

我有一個Model類暴露在ObservableCollection中,並使用DataTemplate設置,並在其中處理模型的proeprty綁定。在集合中公開的模型中實現INotifyPropertyChanged

當我手動在Model類中實現INotifyPropertyChanged接口時,ObservableCollection中的綁定proeprty不會自動更改,但僅在重新呈現集合之後。

當我從ViewModelBase(一個MVVM Light工具包類)繼承並使用RasiePropertyChanged方法時,bound屬性會自動更改而不刷新整個集合。

除了實現INotifyPropertyChanged接口外,ViewModelBase還有什麼作用?

+2

這往往有助於提供一些源代碼! – Nick 2013-03-22 13:43:46

回答

9

在MVVM光工具包好ViewModelBase給你喜歡IsInDesignModeMessengerInstance

一些額外的助手與模型中實施INotifyPropertyChanged

現在沿,如果你只是想實現的,而不是試圖自己只是做了INotifyPropertyChanged派生自ObservableObject

ObservableObject也來自MVVM Light工具包,它只執行INPC實現而沒有修剪使之成爲完美的fo r型號。

如果你看一下定義ViewModelBase在Visual Studio中,它繼承ObservableObject本身