【发布时间】:2012-06-22 13:56:49
【问题描述】:
当用户输入正确密码后,登录窗口应关闭,主窗口应打开。我想从 ViewModel 执行此操作,但是 ViewModel 可能对视图一无所知。
我进行了很多搜索,显然最好的方法是使用中介模式。我了解这种模式是如何工作的,但是在这种情况下如何有效地使用它呢?
调解员需要:
- 对视图的引用
- 对 ViewModel 的引用
ViewModel 需要对中介者的引用。
我需要在哪里创建中介?我无法在 ViewModel 中执行此操作,因为我无法设置对视图的引用。在视图中创建中介是一种选择,因为我可以从 DataContext 属性中获取 ViewModel,但是我仍然需要将中介传递给 ViewModel,这只会使代码更加困难。
如何正确使用中介来打开/关闭窗口?
【问题讨论】:
标签: c# wpf design-patterns mvvm