Exemplo n.º 1
0
        protected virtual IList <XamlMember> LookupDependsOn()
        {
            if (!AreAttributesAvailable)
            {
                return(null);
            }
            List <string> doPropertyNames = _reflector.GetAllAttributeContents <string>(typeof(DependsOnAttribute));

            if (doPropertyNames == null || doPropertyNames.Count == 0)
            {
                return(null);
            }

            List <XamlMember> result = new List <XamlMember>();

            foreach (var name in doPropertyNames)
            {
                XamlMember member = _declaringType.GetMember(name);

                // Normally we want to throw if property lookup fails to return anything
                // but here we can not throw because v3.0 does not
                if (member != null)
                {
                    result.Add(member);
                }
            }
            return(XamlType.GetReadOnly(result));
        }