/* События */ /* Исполняется при закрытии окна. Проверяет сохранён ли список при выходе */ protected override void OnClosing(CancelEventArgs e) { e.Cancel = true; Console.WriteLine(this.ToString() + ": Закрытие окна"); if (!saved) { MessageBoxResult dialog = MessageBox.Show("Сохранить изменения в " + this.Title.Remove(this.Title.Length - 1) + "?", "Exit", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); if (dialog == MessageBoxResult.Yes) { if (MenuController.SaveList(this, saved, selected_users.ToList())) { Console.WriteLine(this.ToString() + ": Выход с сохранением списка"); saved = true; } else { return; } } else if (dialog == MessageBoxResult.No) { Console.WriteLine(this.ToString() + ": Выход без сохранения списка"); saved = true; } else if (dialog == MessageBoxResult.Cancel) { Console.WriteLine(this.ToString() + ": Отмена"); return; } } e.Cancel = false; App.Current.MainWindow.Show(); base.OnClosing(e); }
/* Сохраняет список */ private void MenuSaveList(object sender, RoutedEventArgs e) { saved = MenuController.SaveList(this, saved, selected_users.ToList()); }