我想在窗口关闭之前向服务器发送一些数据。我使用了关闭事件,但它没有起作用。问题出在哪里?
private void Window_Closing(object sender, RoutedEventArgs e)
{
_obj.CloseConnection();
}
我想在窗口关闭之前向服务器发送一些数据。我使用了关闭事件,但它没有起作用。问题出在哪里?
private void Window_Closing(object sender, RoutedEventArgs e)
{
_obj.CloseConnection();
}
尝试在窗口代码后台覆盖OnClosing。在那里,您有机会通过设置e.Cancel = true
来阻止窗口关闭,如果您还有其他事情要做。
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
bool isClosed = _obj.CloseConnection();
if(!isClosed)
e.Cancel = true;
}
你有检查过_obj.CloseConnection()是否有问题吗?尝试调试你的代码并检查事件处理程序是否被调用。
你也可以这样做,而不必覆盖 OnClosing 方法。
主窗口的构造函数是
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
Closing += MainWindow_Closing;
}
然后创建一个事件处理程序
private void MainWindow_Closing(object? sender, System.ComponentModel.CancelEventArgs e)
{
// do something
}
注意:这可能不符合MVVM。
D