Webサービスがあります。
- タイプ
Zooとを提供しますAnimal。 Zoo動物のIDと名前の辞書があります。Animalプロパティがあります:Id、、。Name(additional stuff)GetZoozooオブジェクトを返すメソッドがあります。- 、、およびを含むオブジェクトを
GetAnimalStuffById返すメソッドがあります。AnimalIdName(additional stuff)
つまり、アイデアは-GetZoo動物ID +名前のリストを取得し、GetAnimalStuffById完全な動物情報を取得できるようにすることです。
VSでそのサービスに「サービス参照」を追加し、MVVMアプリを作成したいと思います。私が完全に理解しておらず、洗脳する必要があるいくつかの事柄。
自動生成されたクラスが私のモデルになっても大丈夫ですか?
例とは関係ありませんが、とにかく、サービス参照を追加するときにどの「コレクションタイプ」を指定する必要がありますか?
ObservableCollectionモデルにとってやり過ぎで悪い習慣ですか?たとえば、ユーザーは完全な動物情報を表示するアプリケーションページに移動します。明らかに、最初は
AnimalViewModelwith onlyIdとNamevalues(から取得GetZoo)があります。ページに移動すると、すべてのデータを含むオブジェクトを呼び出しGetAnimalStuffByIdて取得します。Animal次に何をすればいいですか?ビューのDataContextをAnimalViewModel新しいオブジェクトから作成された新しいAnimalものに置き換えますか(A)、または単にその中の値を置き換えます(B)?答えが(A)の場合、すべてのビューでDataContextを置き換えるにはどうすればよいですか?
答えが(B)の場合、その更新の原因は何ですか?VMは、
Animal更新の取得に関するファンシーマネージャーのイベントにサブスクライブする必要がありますか?または他のアプローチはありますか?INotifyPropertyChanged自動生成されたクラスの目的は何ですか?私の場合、それらは常にWebサービスから新鮮に返されます。マイクロソフトは、いくつかのシナリオでそれらをViewModelとしても使用することを提案していますか?
ありがとう。