podría utilizar el Messenger para hacer esto: enviar al usuario en el UserViewModel:
Messenger.Send<User>(userInstance);
sería simplemente enviar al usuario a cualquier persona interesada.
y registrar un destinatario en su CardViewModel:
Messenger.Register<User>(this, delegate(User curUser){_curUser = curUser;});
o también puede enviar una solicitud de su CardViewModel por gritar al usuario:
Messenger.Send<String, UserViewModel>("Gimme user");
y reaccionan en que en el UserViewModel:
Messenger.Register<String>(this, delegate(String msg)
{
if(msg == "Gimme user")
Messenger.Send<User>(userInstance);
});
(Mejor utilizar una enumeración y no una cadena en un escenario real:))
Perhabs incluso puede responder directamente, pero no puedo verificarlo en este momento.
Sólo mira esto: Mvvm light Messenger
Depende de la implementación de sus controles. ¿Estás compartiendo ViewModel entre las vistas que están bajo una vista principal o simplemente estás tratando de compartir la propiedad/Comando entre dos vistas independientes? –
La vista en cuestión se puede anidar en diferentes vistas pero se retransmite en un modelo de vista que necesita poder acceder a una propiedad desde un modelo de vista independiente. En mi caso concreto, es un CardViewModel que necesita obtener una información sobre el usuario actualmente conectado (manejado y almacenado en un UserViewModel independiente) para realizar una llamada a un servicio web. –