关闭窗口MVVM样式



我正在WPF中编程一个使用MVVM概念的应用程序。

我试着没有代码,并试图保持我的ViewModels和Views完全分离。这意味着我必须在xaml中处理关闭窗口的问题。

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

我曾尝试在触发器"IsClosing"上的窗口时执行relaycommand,但这不起作用,因为该命令也是在按下"Cancel"时执行的。我知道您可以在relaycommand中将视图作为参数发送,但这意味着我的ViewModel了解我的视图。

有人知道如何在没有ViewModel的情况下执行relaycommand并在我按"OK"时关闭窗口吗?

谨致问候!

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

要处理实际关闭窗口的问题,请使用附加的行为,如此问题的公认答案中所述-ViewModel应该如何关闭窗体?

最新更新