Пример #1
0
        public XamlDomReader(XamlDomNode domNode, XamlSchemaContext schemaContext, XamlDomReaderSettings settings)
        {
            if (schemaContext == null)
            {
                throw new ArgumentNullException("schemaContext");
            }
            if (domNode == null)
            {
                throw new ArgumentNullException("domNode");
            }

            SchemaContext = schemaContext;
            if (settings != null)
            {
                _doNotReorder = settings.DoNotReorderMembers;
            }
            _nodes = WalkDom(domNode).GetEnumerator();
        }
Пример #2
0
 public XamlDomReader(XamlDomNode domNode, XamlSchemaContext schemaContext)
     : this(domNode, schemaContext, null)
 {
 }
Пример #3
0
 private IEnumerable<XamlNode> WalkDom(XamlDomNode domNode)
 {
     var objectNode = domNode as XamlDomObject;
     if (objectNode != null)
     {
         foreach (var node in ReadObjectNode(objectNode))
         {
             yield return node;
         }
     }
     else
     {
         var memberNode = domNode as XamlDomMember;
         if (memberNode != null)
         {
             foreach (var node in ReadMemberNode(memberNode))
             {
                 yield return node;
             }
         }
         else
         {
             foreach (var node in ReadValueNode(domNode as XamlDomValue))
             {
                 yield return node;
             }
         }
     }
 }