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