我正在使用mvvm light来构建Silverlight应用程序。
是否有代码片段显示如何从另一个 View 模型或后面的用户控件的代码中访问 View 模型的属性或命令?

我想这很简单,但是我以某种方式错过了一些东西。

尤利

最佳答案

您可以使用Messenger来执行此操作:
在UserViewModel中发送用户:

Messenger.Send<User>(userInstance);

只会将用户发送给感兴趣的任何人。

并在您的CardViewModel中注册一个收件人:
Messenger.Register<User>(this, delegate(User curUser){_curUser = curUser;});

或者,您也可以从CardViewModel发送一个请求来喊叫用户:
Messenger.Send<String, UserViewModel>("Gimme user");

并在UserViewModel中对此使用react:
Messenger.Register<String>(this, delegate(String msg)
{
if(msg == "Gimme user")
Messenger.Send<User>(userInstance);
});

(在实际情况下,最好使用枚举而不是字符串:))

也许您甚至可以直接回复,但是我目前无法检查。

只需检查一下:Mvvm light Messenger

关于silverlight - MVVM light-如何在其他 View 模型中访问属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2699328/

10-12 02:15