1

モデルのプロパティバインディングが処理されるDataTemplateで設計されたObservableCollectionで公開されたModelクラスがあります。

ModelクラスにINotifyPropertyChangedインターフェイスを手動で実装すると、ObservableCollectionのバインドされたプロパティは自動的に変更されませんが、コレクションを再レンダリングした後にのみ変更されます。

ViewModelBase(MVVM Lightツールキットクラス)から継承してRasiePropertyChangedメソッドを使用すると、コレクション全体を更新せずに、バインドされたプロパティが自動的に変更されます。

INotifyPropertyChangedインターフェイスを実装する以外に、ViewModelBaseは何をしますか?

4

1 に答える 1

9

MVVM ViewModelBaseLight Toolkit では、次のような追加のヘルパーが提供されますIsInDesignModeMessengerInstance

実装するとともにINotifyPropertyChanged

INotifyPropertyChanged自分で実装しようとするのではなく、単に実装したい場合は、モデルから派生するだけですObservableObject

ObservableObjectもMVVM Lightツールキットからのもので、トリミングなしでINPC実装のみを行い、モデルに最適です。

ViewModelBaseVisual Studio での定義を見ると、ObservableObjectそれ自体が継承されます

于 2013-03-22T13:47:42.533 に答える