protected override void OnDeactivate(bool close)
        {
            if (FormatVariables_ObservableCollection != null)
            {
                //Read textboxes variables and values and write save them to the Settings.xml file

                XML_Handler XML_FileHandler = new XML_Handler();

                String[] Pointer_StringArray         = new String[Pointer_ObservableCollection.Count];
                String[] TransferReq_StringArray     = new String[TransferReq_ObservableCollection.Count];
                String[] ParValid_StringArray        = new String[ParValid_ObservableCollection.Count];
                String[] ParameterToSend_StringArray = new String[ParameterToSend_ObservableCollection.Count];

                String[] FormatVariables_StringArray = new String[FormatVariables_ObservableCollection.Count];
                String[] FormatValues_StringArray    = new String[FormatValues_ObservableCollection.Count];

                int i = 0;
                foreach (Parameters par in FormatVariables_ObservableCollection)
                {
                    FormatVariables_StringArray[i] = par.Name;
                    i++;
                }

                i = 0;
                foreach (Parameters par in FormatValues_ObservableCollection)
                {
                    FormatValues_StringArray[i] = par.Name;
                    i++;
                }

                i = 0;
                foreach (Parameters par in Pointer_ObservableCollection)
                {
                    Pointer_StringArray[i] = par.Name;
                    i++;
                }

                i = 0;
                foreach (Parameters par in TransferReq_ObservableCollection)
                {
                    TransferReq_StringArray[i] = par.Name;
                    i++;
                }

                i = 0;
                foreach (Parameters par in ParValid_ObservableCollection)
                {
                    ParValid_StringArray[i] = par.Name;
                    i++;
                }

                i = 0;
                foreach (Parameters par in ParameterToSend_ObservableCollection)
                {
                    ParameterToSend_StringArray[i] = par.Name;
                    i++;
                }

                // Save Changes to the Settings.xml

                //XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.PointerStringElementName, "", FormatPar_Struc_ToFormatParViewModel.PointerStringAttributeName, Pointer_StringArray);
                //XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.TransferReqElementName, "", FormatPar_Struc_ToFormatParViewModel.TransferReqAttributeName, TransferReq_StringArray);
                //XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.ParValidElementName, "", FormatPar_Struc_ToFormatParViewModel.ParValidAttributeName, ParValid_StringArray);
                //XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.ParameterToSendElementName, "", FormatPar_Struc_ToFormatParViewModel.ParValidAttributeName, ParameterToSend_StringArray);
                XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.FormatElementName, FormatPar_Struc_ToFormatParViewModel.FormatParElementName, FormatPar_Struc_ToFormatParViewModel.FormatParAttributeName, FormatVariables_StringArray);
                XML_FileHandler.SaveParameters(FormatPar_Struc_ToFormatParViewModel.SettingsFileName, FormatPar_Struc_ToFormatParViewModel.path, FormatPar_Struc_ToFormatParViewModel.FormatElementName, FormatPar_Struc_ToFormatParViewModel.FormatParElementName, FormatPar_Struc_ToFormatParViewModel.FormatParAttributeValue, FormatValues_StringArray);

                //clear lists and collections
                _list_FormatVariables.Clear();
                _list_FormatValues.Clear();
                _list_PointerVariable.Clear();
                _list_TransferReq.Clear();
                _list_ParValid.Clear();
                _list_ParameterToSend.Clear();

                FormatVariables_ObservableCollection.Clear();
                FormatValues_ObservableCollection.Clear();
                Pointer_ObservableCollection.Clear();
                TransferReq_ObservableCollection.Clear();
                ParValid_ObservableCollection.Clear();
                ParameterToSend_ObservableCollection.Clear();

                //Background worker detach events
                _transferParameters_Worker.DoWork             -= DoWork_Transfer;
                _transferParameters_Worker.RunWorkerCompleted -= WorkCompleted_Transfer;
                _transferParameters_Worker.ProgressChanged    -= ProgressChanged_Transfer;
            }

            _eventAggregator.Unsubscribe(this);
            base.OnDeactivate(close);
        }