private void SaveMenuItem_Click(object sender, RoutedEventArgs e) { if(currentMap == null) { // fehlermeldung zeigen MessageBox.Show( "Bitte lade/erstelle erst eine Map", "Keine Map", MessageBoxButton.OK); // bearbeitung stoppen return; } SaveFileDialog dialog = new SaveFileDialog(); // Ordner der als erstes angezeigt wird dialog.InitialDirectory = System.IO.Path.GetFullPath("./"); dialog.Title = "Speicherort aussuchen"; // filter: Name|Filter[|Name|Filter...] dialog.Filter = "Map Files|*.map|All Files|*.*"; dialog.DefaultExt = ".map"; // save file dialog anzeigen bool? success = dialog.ShowDialog(this); // wurde der dialog ohne ergebnis geschlossen? if (success == null) { return; } // wurde abgebrochen if (!success.Value) { return; } MapSerializer ser = new MapSerializer(); // map in die ausgewählte datei speichern if(ser.SaveToFile(currentMap, dialog.FileName)) { changed = false; } }
private void LoadMenuItem_Click(object sender, RoutedEventArgs e) { if (AbortUnsavedChanges()) { return; } OpenFileDialog dialog = new OpenFileDialog(); // Ordner der als erstes angezeigt wird dialog.InitialDirectory = System.IO.Path.GetFullPath("./"); dialog.Title = "Datei zum laden aussuchen"; // filter: Name|Filter[|Name|Filter...] dialog.Filter = "Map Files|*.map|All Files|*.*"; dialog.DefaultExt = ".map"; // Nutzer darf nur eine Datei auswaehlen dialog.Multiselect = false; bool? dialogResult = dialog.ShowDialog(); if (dialogResult == null || !dialogResult.Value) { return; } MapSerializer ser = new MapSerializer(); // map laden Map loadedMap = ser.LoadFromFile(dialog.FileName); if(loadedMap == null) { MessageBox.Show( "Die Map konnte nicht geladen werden.", "Fehler beim Laden", MessageBoxButton.OK); return; } // setze die geladene map als die aktuelle SetMap(loadedMap); }