2012-01-10 11 views
0

wcfサービス参照に接続するWPFクライアントアプリケーションがあります。wpfのMVVM、ObservebleObjectをサービス参照からモデルに追加する方法

私のモデルはサービス参照のみです。

私は、どのようにiは、モデルがObservebleObjectからineheritできることを、私はMVVM光で見たのviewmodel

にモデルから手動で各プロパティを追加することなく、NotifyPropertyChangedEventを追加することができ、各モデルについてのviewmodelを作成したい、唯一の問題モデルが他の場所で作成されていて、私はちょうど参照を取得しているということです。

アイデア?

おかげ

答えて

0

私はModelINotifyPropertyChangedの実装を置くため必須ではないと思います。 ViewModelで簡単に実装できます。

Viewが何か変更されたことをModelViewModel経由)に伝える必要があるのはなぜですか?私はそれが変更されていることを通知する必要があると思う。ViewModel次にView ModelModelと再生させます。

+0

ええ、私もそう思っていましたが、それはモデルの各プロパティのビューモデルでプロパティを作成する必要があることを意味します。 – ibm123

+2

いいえ、表示するプロパティを作成する必要があります。 –

+0

いいえ、ありがとうございます。私はビューモデルでそれを行います – ibm123

1

サービスのメソッドを呼び出すたびに、新しいDTOが返されます。同じインスタンスを返すことは決してなく、サービスを使用して1つのオブジェクトインスタンスを操作することはできません。通信に使用されるすべてのデータは一時的なものです。

これらのインスタンスは更新できません(モデルではありません)。INotifyPropertyChangedの実装は意味がありません。代わりに、ビューモデルを作成してDTOをその中にコピーする必要があります。ビューモデルは、INotifyPropertyChangedを実装する場所です。

+0

私はTimと完全に同意します。私はsvcutilによって作成されたデータクラスが通常は変わらないが、INotifyPropertyChangedを実装するのは非常に紛らわしいと思う。 – Clemens

+0

いいえ、答えをありがとう私はビューモデルでそれを行います – ibm123

関連する問題