예제 #1
0
        private IEnumerable <XamlNode> ReadMemberNode(XamlDomMember memberNode)
        {
            if (memberNode.Items != null && memberNode.Items.Count > 0)
            {
                yield return(XamlNode.GetStartMember(memberNode));

                foreach (var itemNode in memberNode.Items)
                {
                    var objectNode = itemNode as XamlDomObject;
                    IEnumerable <XamlNode> enumerable;
                    if (objectNode != null)
                    {
                        enumerable = ReadObjectNode(objectNode);
                    }
                    else
                    {
                        enumerable = ReadValueNode(itemNode as XamlDomValue);
                    }

                    foreach (var node in enumerable)
                    {
                        yield return(node);
                    }
                }
                yield return(XamlNode.GetEndMember(memberNode));
            }
        }