【发布时间】:2016-04-18 17:26:32
【问题描述】:
我相信我在某处看到Prism 提供了一个WPF 机制来实现ICommand 来关闭一个窗口。我一直在查看文档,但它是压倒性的,我似乎无法确定任何关于此的内容(如果它甚至存在的话)。 Prism 是否有用于通过视图模型命令绑定关闭甚至创建窗口的 MVVM 助手?
我确实看到您可以在不使用 Prism 的情况下以更“手动”的方式进行操作,但 Prism 确实为其他类似任务提供了帮助。
【问题讨论】:
-
我几乎是 100% prism 不提供针对窗口/视图关闭的 ICommand 实现。问题是为什么你需要棱镜来帮助你。通常我想控制脏检查、处理等。
-
我的目标是采用一种将命令放入视图模型的方法。一些命令在视图模型中有意义并且很容易适应那里,例如重新加载数据等。其他类似命令似乎并不容易适应那里。我刚刚采用了一种方法,它使用代码隐藏来处理需要关闭窗口的事情。
-
但是您仍然可以使用自己的实现来使用命令从视图模型关闭窗口,而无需回退到代码后面。
-
是的。 MVVM 是关于解耦视图和逻辑。它应该能够无头运行。如果您将命令放在视图中,我认为这并不容易。我使用服务接口来抽象出调用 window.close 的实现细节。