2013-03-22 2 views
1

У меня есть класс Model, открытый в ObservableCollection, с описанием DataTemplate, где обрабатываются привязки Proeprty Model.Реализация INotifyPropertyChanged в модели, которая экспонируется в коллекции

Когда я реализую интерфейс INotifyPropertyChanged в классе модели вручную, связанная функция в ObservableCollection не изменяется автоматически, а только после повторной рендеринга коллекции.

Когда я наследую от ViewModelBase (класс инструментария MVVM Light) и использую метод RasiePropertyChanged, свойство bound изменяется автоматически, не обновляя всю коллекцию.

Что делает ViewModelBase, кроме реализации интерфейса INotifyPropertyChanged?

+2

Это часто бывает полезно, чтобы обеспечить некоторый исходный код! – Nick

ответ

9

Ну ViewModelBase в MVVM Light Toolkit дает вам некоторые дополнительные помощники, как IsInDesignMode и MessengerInstance

наряду с внедрением INotifyPropertyChanged

Теперь в модели, если вы просто хотите реализовать INotifyPropertyChanged вместо того, чтобы пытаться сделать это самостоятельно просто получены от ObservableObject

ObservableObject также из инструментария MVVM Light, и только реализация INPC без обрезки делает его идеальным для r Модели.

Если посмотреть на определение для ViewModelBase в Visual Studio, он наследует ObservableObject сам

Смежные вопросы