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