public static void OnHtmlChanged(DependencyObject s, DependencyPropertyChangedEventArgs e) { HtmlTextBlock sender = (HtmlTextBlock)s; sender.Inlines.Clear(); HtmlTagTree tree = new HtmlTagTree(); HtmlParser parser = new HtmlParser(tree); //output parser.Parse(new StringReader(e.NewValue as string)); //input HtmlUpdater updater = new HtmlUpdater(sender); //output updater.Update(tree); //input }
public void Update(HtmlTagTree tagTree) { List<HtmlTag> tagList = tagTree.ToHtmlTagList(); foreach (HtmlTag tag in tagList) { switch (Defines.BuiltinTags[tag.ID].flags) { case HTMLFlag.TextFormat: UpdateStyle(tag); break; case HTMLFlag.Element: textBlock.Inlines.Add(UpdateElement(tag)); break; } } }
/// <summary> /// Constructor /// </summary> public HtmlParser(HtmlTagTree aTree) { tree = aTree; }