Уведомление об изменении элемента базы данных другой страницы, лучший метод для MVVM WP7.5? - PullRequest
0 голосов
/ 23 сентября 2011

Прежде всего, я использую MVVM для этого, и я хотел бы продолжать использовать его, а также использовать лучшие практики.

У меня есть главная страница, на которой будет отображаться список предметов. На другой странице вы можете добавить такие предметы. Предметы будут сохранены в базе данных, которая поставляется с обновлением Mango.

Когда элемент добавлен, я хочу вернуться на главную страницу и хочу, чтобы список обновлялся автоматически. Это возможно и как лучше? Я думаю о следующем сценарии:

  • Используйте строку запроса Обновить при навигации. Проверьте в конце вашего основного, если есть обновление. Затем отправьте сообщение 2 ViewModel, что ему нужно обновить свой список. Я пробовал это, и это работает. Но это не совсем правильно для MVVM.
  • Разве это нельзя сделать с помощью события NotifyPropertyChanged, которое вы можете вызвать в своей модели базы данных? Или не работает на разных страницах?
  • Как-то перезагрузить всю ViewModel для главной страницы.

Есть еще идеи?

1 Ответ

1 голос
/ 23 сентября 2011

Используйте MVVM-Lights Messenger.MainViewMode может подписаться на событие Refresh, а ViewModel, в который добавляются элементы, может публиковать событие Refresh.

Этот является хорошим примером того, как можно использовать мессенджер.

...