Exemplo n.º 1
0
        private IEnumerable <XamlNode> ReadObjectNode(XamlDomObject objectNode)
        {
            foreach (var nsNode in objectNode.Namespaces)
            {
                yield return(XamlNode.GetNamespaceDeclaration(nsNode));
            }

            yield return(XamlNode.GetStartObject(objectNode));

            // We want to write out simple things that could be attributes out first if setting is set
            // We write out single values and things that are MEs
            if (!_doNotReorder)
            {
                foreach (var node in WritePossibleAttributes(objectNode))
                {
                    yield return(node);
                }

                foreach (var node in WriteElementMembers(objectNode))
                {
                    yield return(node);
                }
            }
            else
            {
                foreach (var memberNode in objectNode.MemberNodes)
                {
                    foreach (var node in ReadMemberNode(memberNode))
                    {
                        yield return(node);
                    }
                }
            }

            yield return(XamlNode.GetEndObject(objectNode));
        }