public void Deserialize(XmlNode xmlNode, FlowDocument flowDocument) { var paragraph = new Paragraph(); foreach(XmlNode inline in xmlNode.ChildNodes) { var run = new Run(); //TODO: other inlines ? foreach(XmlAttribute attribute in inline.Attributes) { if (attribute.Name != "StyleName") run.GetType().GetProperty(attribute.Name).SetValue(run, ParagraphSerializationHelper.PropertyConverters[attribute.Name].ConvertFromString(attribute.InnerText)); } if(xmlNode.Attributes["StyleName"] != null) FlowDocumentHelper.SetStyleName(run, xmlNode.Attributes["StyleName"].InnerText); paragraph.Inlines.Add(run); } flowDocument.Blocks.Add(paragraph); }
public void Deserialize(XmlNode xmlNode, FlowDocument flowDocument) { var list = new List{ MarkerStyle = _markerStyle }; foreach (XmlNode listItemNode in xmlNode.ChildNodes) { var listItem = new ListItem(); foreach (XmlNode listItemBlockNode in listItemNode.ChildNodes) { var paragraph = new Paragraph(); foreach (XmlNode listItemInlineNode in listItemBlockNode.ChildNodes) { var run = new Run(); foreach (XmlAttribute attribute in listItemInlineNode.Attributes) { if (attribute.Name != "StyleName") run.GetType().GetProperty(attribute.Name).SetValue(run, ParagraphSerializationHelper.PropertyConverters[attribute.Name].ConvertFromString( attribute.InnerText)); } if(xmlNode.Attributes["StyleName"] != null) FlowDocumentHelper.SetStyleName(run, xmlNode.Attributes["StyleName"].InnerText); paragraph.Inlines.Add(run); } listItem.Blocks.Add(paragraph); } list.ListItems.Add(listItem); } flowDocument.Blocks.Add(list); }