我正在开发一个应用程序,该应用程序显示一些子窗口,这些子窗口可以由用户关闭或自动关闭。在调试一些抛出的异常时,我发现我试图在已经关闭的窗口上调用诸如 Hide()
之类的方法;这个特定的代码分支对于这两种情况都是常见的,但我没有注意到这一点。
我的第一个想法是在 Window
上寻找一个指示窗口已关闭的属性。我好像找不到一个在 WinForms 中,我会查看 IsDispose 属性,以获取某种可靠的指示符,表明表单已关闭(它不能可靠地用于对话框,但我不使用对话框。)在 Window
上没有看到任何等效内容。 Window.Close()
的文档似乎没有表明该方法更改的任何属性。我是否遗漏了一些明显的东西,或者是知道窗口是否已关闭以处理 Closed
事件的唯一方法?对于一项简单的任务来说,这似乎是一个苛刻的要求。
最佳答案
根据this conversation在 MSDN WPF 论坛上(请参阅上一篇文章),您可以检查 IsLoaded 是否为 false,这意味着该窗口“有资格”卸载其内容。我希望这对你有用!
关于wpf - 如何判断 WPF 窗口是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381973/