You could use the Messenger to do this:
Send the user in the UserViewModel:
Messenger.Send<User>(userInstance);
would just send the user to anyone interested.
And register a recipient in your CardViewModel:
Messenger.Register<User>(this, delegate(User curUser){_curUser = curUser;});
or you can also send a request from your CardViewModel for shouting the user:
Messenger.Send<String, UserViewModel>("Gimme user");
And react on that in the UserViewModel:
Messenger.Register<String>(this, delegate(String msg)
{
if(msg == "Gimme user")
Messenger.Send<User>(userInstance);
});
(You better use an enum and not a string in a real scenario :) )
Perhabs you can even response directly but I can't check it at the moment.
Just check this out: Mvvm light Messenger
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…