关闭窗口MVVM样式

时间:2014-04-08 09:17:47

标签: c# wpf xaml mvvm relaycommand

我在WPF中使用MVVM概念编写应用程序。

我试图没有代码隐藏,并试图让我的ViewModel和Views完全分离。这意味着我必须在xaml中处理关闭窗口。

当我关闭窗口时,我想执行一个relaycommand,但只有当我按下" OK"。如果我按下取消,则不得执行该命令。

我已尝试在触发器上的窗口" IsClosing"时执行relay命令,但这不起作用,因为该命令也在"取消"时执行。被压了。 我知道您可以将视图作为参数发送到relaycommand,但这意味着我的ViewModel知道我的视图。

当我按下" OK",而没有ViewModel与View有任何关系时,是否有人知道如何执行relaycommand并关闭窗口?

亲切的问候!

1 个答案:

答案 0 :(得分:0)

最好的MVVM解决方案是删除窗口镶边(关闭按钮等)并提供显式关闭和取消按钮,您可以将它们绑定到视图模型中的命令。

要处理实际关闭窗口,请使用附加行为,如此问题的接受答案中所述 - How should the ViewModel close the form?

相关问题