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);
        }