我正在使用 mvvm light 构建 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轻信使 http://blog.galasoft.ch/archive/2009/09/27/mvvm-light-toolkit-messenger-v2-beta.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)