Я написал приложение для телефона с использованием рамки MVVM. Он собрался хорошо - каждая страница (вид) на телефоне имеет свой собственный ViewModel, и код внутри каждого ViewModel ушел в службу данных и получил соответствующие данные.Как связать View и ViewModel и где их создавать
Итак, у меня была страница с повествованием о предстоящих элементах, и ее ViewModel извлекла коллекцию событий, и в XAML я связал Listbox с этой коллекцией. Аналогичным образом у меня была еще одна страница, показывающая события OneOff и снова, в пределах ее виртуальной машины я вызвал службу данных, чтобы получить сбор данных назад, и это было связано с списком в его представлении.
Не уверен, насколько хороша реализация MVVM, но я переехал в другую базу данных, и было очень просто реализовать другой сервис-центр, не касаясь чего-либо еще, и все это отлично работало.
Хорошо, теперь я ищу, чтобы переделать это приложение в приложение Windows Store. Теперь у меня есть главная страница, которая покажет комбинацию данных, которые на телефоне показывались на отдельных страницах. Гипотетически предположим, что пункты повестки дня и события One Off, упомянутые выше, теперь появляются на одной и той же главной странице (так много места для показа материала)
Просто борюсь с тем, что это означает для ViewModel (s). Если MainPage может работать только с одним ViewModel, я получаю один огромный ViewModel, который включает все функции, которые были в нескольких виртуальных машинах раньше.
Или у главной модели ViewModel есть в ней коллекции ViewModels. От взгляда вокруг это похоже на то, как это можно сделать, но если да, то где создаются ViewModels? Это, пожалуй, принципиальный сдвиг от того, что я делал ранее.