Beispiel #1
0
        private void DisplayStringTemplate(CSetting setting)
        {
            StackPanel panel = new StackPanel();

            panel.Orientation = Orientation.Vertical;
            panel.SetValue(Grid.ColumnProperty, 1);

            TextBlock label = new TextBlock();

            label.Text         = setting.Descripition;
            label.TextWrapping = TextWrapping.WrapWithOverflow;
            panel.Children.Add(label);

            Separator sep = new Separator();

            panel.Children.Add(sep);

            TextBox box = new TextBox();

            box.Text         = setting.GetValueString();
            box.TextChanged += delegate
            {
                setting.Value = box.Text;
            };
            panel.Children.Add(box);

            settingsGrid.Children.Clear();
            settingsGrid.Children.Add(panel);
        }
        /// <summary>
        /// Saves all settings to ApplicationSettings.xml
        /// </summary>
        /// <returns>True on succes</returns>
        public bool SaveApplicationSettings()
        {
            try
            {
                File.Delete(m_sFileSavePath);
                File.Delete(m_sSettingsFilePath + m_sCurrentProfileFilePath);
            }
            catch (Exception)
            {
            }

            XmlTextWriter writer       = null;
            StreamWriter  streamWriter = null;

            try
            {
                streamWriter = new StreamWriter(File.Open(m_sSettingsFilePath + m_sCurrentProfileFilePath, FileMode.CreateNew));

                streamWriter.WriteLine(m_sCurrentProfileSavePath);
                streamWriter.Close();


                //SaveProgramDefinitions();
                writer            = new XmlTextWriter(m_sFileSavePath, System.Text.Encoding.UTF8);
                writer.Formatting = Formatting.Indented;

                writer.WriteStartDocument();

                writer.WriteComment("Application settings for CEWSP");

                writer.WriteStartElement("ApplicationSettings");



                // single settings
                foreach (string key in Settings.Keys)
                {
                    object   val     = GetValue(key);
                    CSetting setting = val as CSetting;

                    writer.WriteComment(setting.Descripition);

                    writer.WriteStartElement("Setting");

                    if (val != null)
                    {
                        writer.WriteAttributeString(key, setting.GetValueString());
                    }
                    else
                    {
                        writer.WriteAttributeString(key, ESettingsStrings.Invalid);
                    }

                    writer.WriteAttributeString("userEditable", setting.UserEditable.ToString());

                    writer.WriteEndElement();
                }

                writer.WriteEndElement();

                writer.Flush();
                writer.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Failed to save application settings!", "Critical Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Reset(false);
                if (writer != null)
                {
                    writer.Close();
                }

                if (streamWriter != null)
                {
                    streamWriter.Close();
                }

                return(false);
            }

            SaveProfileHistory();
            SaveProgramDefinitions();
            return(true);
        }