/// <summary> /// /// </summary> /// <param name="key"></param> /// <returns></returns> public Style GetQuickStyle(StandardStyles key) { string name = key.ToName(); var style = Root.Elements(Namespace + "QuickStyleDef") .Where(e => e.Attribute("name").Value == name) .Select(p => new Style(new QuickStyleDef(p))) .FirstOrDefault(); if (style == null) { var quick = key.GetDefaults(); var sibling = Root.Elements(Namespace + "QuickStyleDef").LastOrDefault(); if (sibling == null) { quick.Index = 0; Root.AddFirst(quick.ToElement(Namespace)); } else { quick.Index = int.Parse(sibling.Attribute("index").Value) + 1; sibling.AddAfterSelf(quick.ToElement(Namespace)); } style = new Style(quick); } return(style); }
private int MakeQuickStyle(Page page, StandardStyles standard) { var quick = standard.GetDefaults(); var styles = page.GetQuickStyles(); var style = styles.FirstOrDefault(s => s.Name == quick.Name); if (style != null) { return(style.Index); } quick.Index = styles.Max(s => s.Index) + 1; page.AddQuickStyleDef(quick.ToElement(ns)); return(quick.Index); }