public static CustomDesktopEnvironment CreateDefault() { var de = new CustomDesktopEnvironment(new KeyboardShortcutCollection()); Directory.CreateDirectory(DesktopEnvironmentDirectory); return(de); }
public static void Save(string name, CustomDesktopEnvironment desktopEnvironment) { string filePath = GetDesktopEnvironmentFilePath(name); Directory.CreateDirectory(DesktopEnvironmentDirectory); XmlWriterSettings settings = new XmlWriterSettings(); XmlWriter writer = XmlWriter.Create(filePath, settings); WriteToXml(desktopEnvironment); writer.Flush(); writer.Close(); void WriteToXml(Control control) { writer.WriteStartElement(control.Type.ToString()); writer.WriteAttributeString(nameof(control.Id), $"{control.Id}"); foreach (var attribute in control.Attributes) { writer.WriteAttributeString(attribute.Key, attribute.Value); } foreach (var child in control.Controls) { WriteToXml(child); } writer.WriteEndElement(); } }