我正在研究使用MVVM,虽然我大部分理解它,但有一件事我无法得到我的头。MVVM将数据传递给对话框查看模型
想象一下,我有一个显示foobar列表的View和ViewModel组合。当用户在列表中选择一个foobar并单击编辑按钮时,我想让foobar显示在一个弹出的对话窗口中,以便它可以被编辑。这个对话窗口(视图)将有自己关联的ViewModel。
我明白,该按钮可以绑定到列表ViewModel上的命令,但从这里我如何实例化foobar编辑器?
1)我是否必须将消息发送回视图,这将打开对话窗口?如果是这样,这是否违背了命令的目的?
2)foobar如何传递到编辑器的ViewModel?如果是通过它的构造函数,这是不是很难在XAML中声明ViewModel?
我觉得这是阻止我使用MVVM的难题的最后一部分,我真的很想为此获得一个很好的解耦解决方案。
感谢 马特
这是一个有趣的方法。看看这个示例项目,我想知道是否会因为失去一个普通窗口的某些功能(调整大小,无模式等)而受到刺激。 我开始认为这可能值得我考虑一个根本不需要复杂对话框的设计 - 而且可能有一个MDI应用程序。 你对此有何看法? – Matt 2010-03-03 21:00:37