Exemplo n.º 1
0
        private static XamlMember CreateXamlMember(XElement element, XamlNamespaces namespaces, XamlNamespaces ignorableNamespaces, Uri sourceUri)
        {
            XamlName name = new XamlName(element.Name.LocalName, element.Name.NamespaceName.IsNullOrEmpty() ? namespaces.GetDefaultNamespace() : element.Name.NamespaceName);

            if (element.Attributes().Any(attribute => !IsIgnorable(attribute.Name, ignorableNamespaces)))
            {
                throw new Granular.Exception("Member \"{0}\" cannot contain attributes", element.Name);
            }

            if (element.Elements().Any(child => !IsIgnorable(child.Name, ignorableNamespaces) && IsMemberName(child.Name)))
            {
                throw new Granular.Exception("Member \"{0}\" cannot contain member elements", element.Name);
            }

            return(new XamlMember(name, namespaces, sourceUri, CreateValues(element, namespaces, ignorableNamespaces, sourceUri)));
        }
Exemplo n.º 2
0
        private static XamlMember CreateXamlMember(XAttribute attribute, XamlNamespaces namespaces, XamlNamespaces ignorableNamespaces, Uri sourceUri)
        {
            XamlName name  = new XamlName(attribute.Name.LocalName, attribute.Name.NamespaceName.IsNullOrEmpty() ? namespaces.GetDefaultNamespace() : attribute.Name.NamespaceName);
            object   value = MarkupExtensionParser.Parse(attribute.Value, namespaces, sourceUri);

            return(new XamlMember(name, namespaces, sourceUri, value));
        }