public XamlAttribute(UnboundAttribute unboundAttribute, XamlType type, IXamlTypeRepository typeContext)
        {
            Type = unboundAttribute.Type;
            Value = unboundAttribute.Value;
            Locator = unboundAttribute.Locator;

            Property = GetProperty(Locator, type, typeContext);
        }
Beispiel #2
0
        private List<UnboundAttribute> ReadAllAttributes()
        {
            var allAttributes = new List<UnboundAttribute>();

            if (xmlReader.MoveToFirstAttribute())
            {
                do
                {
                    var name = xmlReader.Name;
                    var val = xmlReader.Value;
                    var propName = PropertyLocator.Parse(name);

                    if (propName == null)
                    {
                        throw new XamlParseException("InvalidXamlMemberName");
                    }

                    var attr = new UnboundAttribute(propName, val);
                    allAttributes.Add(attr);
                } while (xmlReader.MoveToNextAttribute());

                xmlReader.MoveToElement();
            }

            return allAttributes;
        }
Beispiel #3
0
        private void EnqueuePrefixDefinition(UnboundAttribute attr)
        {
            var xmlNsPrefixDefined = attr.XmlNsPrefixDefined;
            var xmlNsUriDefined = attr.XmlNsUriDefined;

            nodes.Enqueue(
                new ProtoParserNode
                {
                    NodeType = NodeType.PrefixDefinition,
                    Prefix = xmlNsPrefixDefined,
                    TypeNamespace = xmlNsUriDefined
                });
        }