我正在开发一个WPF MVVM Light应用程序,我想显示一些消息框/对话框,或者还有一些其他场景,我希望我的View模型与其视图进行通信或在其各自的视图上引发一些事件。
我怎么能实现这个目标?
答案 0 :(得分:2)
查看MVVM Light的Messenger类。当您下载MVVM灯时,它甚至应该默认为样本。它类似于Messenger.Default.Send(new YourMessageClass()),你可以在View端注册监听器。
答案 1 :(得分:1)
答案 2 :(得分:1)
显示弹出窗口的责任不应该是ViewModel的责任,而应该是“为您处理它的服务”。
如果“弹出窗口”是一个模态窗口,如“文件打开对话框”,“文件保存对话框”,消息框“确定/取消”或“是/否”等,那么我相信“服务” “将是正确的选择。原因是可以对单元测试进行加密/模拟服务。
此外,您可以根据需要实现此服务的不同实现:在debug(r,当角色属于admin或开发人员时),您拥有比发布或常规用户更多的“详细”信息,例如
现在,对于“ViewModel如何与View进行通信”,我不确定你的意思。只需在ViewModel上添加一个属性,然后将视图绑定到该属性即可。