Я использую mvvm свет для создавания приложения Silverlight. Существует ли фрагмент кода, который показывает, как получить доступ к свойству модели представления или команде из другой модели представления или кода пользовательского элемента управления позади?
Я предполагаю, что это просто, но я так или иначе пропустил что-то.
Ueli
Вы можете использовать Messenger для этого: Отправить пользователя в UserViewModel:
Messenger.Send<User>(userInstance);
просто отправит пользователя всем, кто заинтересован .
И зарегистрируйте получателя в своей CardViewModel:
Messenger.Register<User>(this, delegate(User curUser){_curUser = curUser;});
или вы также можете отправить запрос из своей CardViewModel, чтобы крикнуть пользователю:
Messenger.Send<String, UserViewModel>("Gimme user");
И отреагировать на это в UserViewModel:
Messenger.Register<String>(this, delegate(String msg)
{
if(msg == "Gimme user")
Messenger.Send<User>(userInstance);
});
(Вам лучше использовать перечисление и не строка в реальном сценарии :))
Возможно, вы даже можете ответить напрямую, но я не могу это проверить в данный момент.
Просто проверьте это: Mvvm Light Messenger