/// <summary>
 /// Statische Methode
 /// Speichert den gesamten Xml Quellcode in eine *.xml Datei 
 /// Falls die Datei bereits geladen wurde, wird sie gelöscht und neu erstellt
 /// Falls die Datei neu ist wird ein Fenster geöffnet, um den Speicherort zu bestimmen.
 /// Bei einem IO Fehler wird eine Exception geworfen.
 /// </summary>
 /// <param name="fileName">Dieser Paramater ist von dem Typ string und beihnaltet den Pfad der XML Datei</param>
 /// <param name="xml">Dieser Parameter ist vom Typ WriteXml und beinhaltet den gesamten Xml Quellcode</param>
 public static void Save(ref string fileName, WriteXml xml)
 {
     if (!(fileName == null))
     {
         try
         {
             File.Delete(fileName);
             xml.Save(fileName);
         }
         catch (Exception)
         {
             throw;
         }
     }
     else
     {
         Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
         dlg.Filter = "eXtensible Markup Language (*.xml)|*.xml";
         dlg.Title = "Query";
         dlg.ShowDialog();
         if (dlg.FileName != "")
         {
             fileName = dlg.FileName;
             try
             {
                 xml.Save(fileName);
             }
             catch (System.Xml.XmlException)
             {
                 throw;
             }
             catch (Exception)
             {
                 throw;
             }
         }
     }
 }
 /// <summary>
 /// Initalisiert die WPF Komponente
 /// Initalisiert ein WriteXml Objekt
 /// Aktualisiert die TextBox
 /// </summary>
 public MainWindow()
 {
     InitializeComponent();
     xml = new WriteXml();
     InsertTextBox();
 }
 /// <summary>
 /// New Button Handler
 /// Setzt das gesamte XML Objekt sowie alle grafischen Anzeigen zurück
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void New_Click(object sender, RoutedEventArgs e)
 {
     MessageBoxResult result = MessageBox.Show("Are you sure you want to discard changes?", "Warnining", MessageBoxButton.YesNo);
     if (result == MessageBoxResult.Yes)
     {
         xml = new WriteXml();
         RemoveVariables();
         RemoveConnectionsId();
         InsertTextBox();
         fileName = null;
         Format.IsEnabled = true;
         Save.IsEnabled = false;
         Report.IsEnabled = false;
         Tabelle.IsEnabled = false;
     }
 }