internal override Node CloneOverride()
 {
     var element = new Element(LocalName, OwnerDocument, NamespaceUri, Prefix);
     foreach (var attr in AttributeList)
         element.AppendAttribute((Attr)attr.CloneNode());
     return element;
 }
Exemple #2
0
 internal Attr(string localName, string value, Element ownerElement, Document ownerDocument)
     : base(ownerDocument)
 {
     LocalName = localName;
     Name = localName;
     Value = value;
     OwnerElement = ownerElement;
 }
 private static void CreateChildren(InlineCollection parent, Element node, RichTextBlockStatus status)
 {
     foreach (var child in node.ChildNodes)
         CreateElement(parent, child, status);
 }
        private static Image CreateImage(Element image, RichTextBlockStatus status)
        {
            var src = image.GetAttribute("src");
            if (!status.TryCreateUri(src, out var uri))
                return null;

            if (!uri.Scheme.StartsWith("http"))
                return null;

            var result = new Image()
            {
                Source = UriToBitmapImageConverter.Instance.Convert(uri),
                MaxWidth = status.ActualWidth
            };

            result.SetUri(src);
            result.ImageOpened += Result_ImageOpened;

            if (image.HasAttribute("width"))
                result.Width = double.Parse(image.GetAttribute("width"));
            else
                result.Width = 0;

            if (image.HasAttribute("height"))
                result.Height = double.Parse(image.GetAttribute("height"));
            else
                result.Height = 0;

            status.Images.Add(result);
            return result;
        }
 public HtmlHyperlinkElementUtilsParentNodeImplementation(Element owner)
 {
     Owner = owner;
 }
 internal void Insert(int index, Element element)
 {
     if (Matcher == null || Matcher(element))
         InnerList.Insert(index, element);
 }