当用户单击 x 关闭应用程序窗口时,我想弹出一条消息“正在关闭,请稍候”,并灰显或禁用其余窗口控件。
这是因为我的应用程序关闭和清理需要一点时间,大约 20 秒。
但是,Window_Closing 事件处理程序中的 wpf 命令似乎从未执行任何操作。我有一个透明的灰色填充边框,它覆盖了窗口控件,我想将可见性从折叠更改为可见。代码被调用但没有任何改变。
就好像请求已排队但由于窗口正在关闭而未被调用。
有什么办法可以清除这个请求吗?
编辑:
试试这个代码:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
_DisableBorder.Visibility = System.Windows.Visibility.Visible;
Thread.Sleep(2000);
}
应用程序将在 2 秒后关闭,但边框永远不会显示。如果添加 e.Cancel = true,则边框将在 2 秒后显示。
最佳答案
你应该耍点小伎俩。 在“关闭”处理程序中,您应该取消关闭,然后显示弹出窗口(作为无模式窗口),然后禁用主窗口上的所有内容。该过程结束后,您可以通过编程方式关闭弹出窗口和主窗口。
我不会在关闭处理程序中执行任何耗时的操作。
希望有帮助。 干杯
关于c# - 更改 Window_Closing 上的 Wpf 窗口外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846460/