在MVVM上下文中使用Dialog.Close()而不出现错误消息

26 浏览
0 Comments

在MVVM上下文中使用Dialog.Close()而不出现错误消息

这个问题已经有答案了

如何以编程方式退出一个 WPF 应用程序?

在使用 MVVM 时退出应用程序或关闭控件

我想知道如何使用 MVVM 退出我的应用程序。

我尝试了 App.Current.Shutdown(); 但是我得到了以下输出:MyProgram 已停止工作

你可以帮助我吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments

你的主窗口所看到的视图模型需要通过你选择的机制发布一个事件。主窗口应该监听这个事件并在看到它时关闭。

同样重要的是,你还需要向系统的其他区域发送一条消息,以通知关闭。这样可以确保非守护线程被关闭并关闭所有未管理的句柄。对于你可能打开的任何文件流,这是适当的机会来刷新你的流!

0
0 Comments

你正在使用正确的方法,但是根据你的ShutDownMode设置的模式不同,你需要确保要么关闭主窗口,要么如果你将其设置为OnLastWindowClosed,那么在关闭应用程序之前必须关闭所有窗口。

这个答案详细说明了一点;

https://stackoverflow.com/a/2820377/1305169

0