Световой сигнал MVVM - как получить доступ к свойству в другой модели представления

Я использую mvvm свет для создавания приложения Silverlight. Существует ли фрагмент кода, который показывает, как получить доступ к свойству модели представления или команде из другой модели представления или кода пользовательского элемента управления позади?

Я предполагаю, что это просто, но я так или иначе пропустил что-то.

Ueli

15
задан Ueli Sonderegger 23 April 2010 в 14:34
поделиться

1 ответ

Вы можете использовать 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

34
ответ дан 1 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: