我有一个WPF应用程序,它允许我编辑一些数据。
我想说的是,如果我们尝试关闭应用程序,用户必须承认他将丢失其修改。
但是我们在这里,我遇到了几个问题:
- 窗口对象上没有"关闭"命令(当我猜后面的代码中有事件时,我可以执行命令)
- 我不知道如何使用 MVVM 模式取消某些内容的推荐方法?通常我会放
e.Cancel = true;
,但我们不能,因为它是一个命令
那么,您将如何询问用户是否确定使用 MVVM 模式关闭窗口?
这个概念是向窗口添加一个行为,该行为"挂钩"到窗口关闭事件中。 挂钩行为后,几乎可以执行所需的任何操作,而不会违反 MVVM 的原则。 有关如何创建窗口关闭行为的信息,请查看此链接:
http://gallery.expression.microsoft.com/WindowCloseBehavior/
希望有帮助。
由于您将此问题标记为"mvvm-light",因此您可以在MVVMLight中检查EventToCommand。它可能满足您的需求。
这个问题是类似的:
使用 WPF/MVVM 轻型工具包处理窗口关闭事件