【发布时间】:2011-02-15 05:05:34
【问题描述】:
在 MVVM WPF 应用程序中。
如何从ViewModel 设置第二个 Windows 父级?
示例:
view1 -- viewModel1
viewModel1的命令调用:
var view2 = new view2
view2.Owner = viewModel 获得 view1 作为这里的所有者?
view2.Show()
编辑:
请参阅下面接受的答案,然后阅读以下编辑。
我正在使用 MVVM 灯 -> http://mvvmlight.codeplex.com/(真棒顺便说一句)
内置的消息传递系统非常棒。我现在从视图模型向我的视图发送一条消息,告诉它显示另一个窗口。
对于消息,我目前在主视图中使用带有 switch 语句的字符串来确定要打开的视图;但是,我可能会修改也属于 MVVM 轻量级工具包的令牌。
谢谢!
【问题讨论】:
-
嗨 dnndeveloper,当你说你正在从 viewmodel 发送消息到 view 告诉它显示另一个窗口时,你的意思是你正在接收该消息并在 view1 代码后面创建/显示另一个窗口?跨度>
-
nabeelfarid - 是的,在后面的代码中接收到消息,然后在解析消息后,它将显示相应的窗口。
标签: c# .net wpf mvvm mvvm-light