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