protected override void OnClosing(CancelEventArgs e) { if (this.OwnedWindows.OfType <ProgressWindow>().Any()) { if (MessageBox.Show(_globalizer.GetResourceString("ServerMonitor_CloseWindow_ConfirmLabel"), _globalizer.GetResourceString("ServerMonitor_CloseWindow_ConfirmTitle"), MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes) { e.Cancel = true; return; } } Windows.Remove(this); _versionChecker?.DisposeAsync().DoNotWait(); base.OnClosing(e); }