示例#1
0
 public PlatformNeutralPropertyId(FullNameTypeId declaringTypeId, Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string name, Microsoft.Expression.DesignModel.Metadata.MemberAccessTypes memberAccessTypes)
 {
     this.declaringTypeId   = declaringTypeId;
     this.memberTypes       = memberTypes;
     this.name              = name;
     this.memberAccessTypes = memberAccessTypes;
 }
示例#2
0
 public IMemberId GetMember(Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string memberName, MemberAccessTypes access)
 {
     if ((memberTypes & Microsoft.Expression.DesignModel.Metadata.MemberType.Property) == Microsoft.Expression.DesignModel.Metadata.MemberType.None)
     {
         return(null);
     }
     return(new PlatformNeutralPropertyId(this, memberTypes, memberName, access));
 }
示例#3
0
        public IMember Clone(ITypeResolver typeResolver)
        {
            IType type = (IType)this.declaringType.Clone(typeResolver);

            if (type == null)
            {
                return(null);
            }
            if (type == this.declaringType)
            {
                return(this);
            }
            Microsoft.Expression.DesignModel.Metadata.MemberType memberType = this.MemberType;
            IMember member = (IMember)type.GetMember(memberType, this.Name, (MemberAccessTypes)this.Access);

            if (member == null)
            {
                member = new UnknownMember(type, memberType, this.Name);
            }
            return(member);
        }
示例#4
0
 public IMemberId GetMember(Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string memberName, MemberAccessTypes access)
 {
     return(this.BaseType.GetMember(memberTypes, memberName, access));
 }
示例#5
0
 IMember Microsoft.Expression.DesignModel.Metadata.IMutableMembers.GetMember(Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string uniqueName)
 {
     return(this.members.GetMemberByUniqueName(memberTypes, uniqueName));
 }
        public static DependencyPropertyReferenceStep GetReferenceStep(ITypeResolver typeResolver, Type targetType, object dependencyProperty, Type declaringType, string propertyName, Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes)
        {
            if (typeof(IDesignTimePropertyImplementor).IsAssignableFrom(declaringType))
            {
                IPropertyId propertyId = DesignTimeProperties.FromName(propertyName, (Microsoft.Expression.DesignModel.Metadata.PlatformTypes)typeResolver.PlatformMetadata, null);
                return(propertyId as DependencyPropertyReferenceStep);
            }
            Microsoft.Expression.DesignModel.Metadata.PlatformTypes platformMetadata = (Microsoft.Expression.DesignModel.Metadata.PlatformTypes)typeResolver.PlatformMetadata;
            DependencyPropertyReferenceStep property = platformMetadata.GetProperty(typeResolver, targetType, memberTypes, propertyName) as DependencyPropertyReferenceStep;

            if (property != null && property.DependencyProperty == dependencyProperty)
            {
                return(property);
            }
            if (!declaringType.IsAssignableFrom(targetType))
            {
                if (TypeHelper.IsSet(memberTypes, Microsoft.Expression.DesignModel.Metadata.MemberType.AttachedProperty))
                {
                    DependencyPropertyReferenceStep dependencyPropertyReferenceStep = platformMetadata.GetProperty(typeResolver, declaringType, Microsoft.Expression.DesignModel.Metadata.MemberType.AttachedProperty, propertyName) as DependencyPropertyReferenceStep;
                    property = dependencyPropertyReferenceStep;
                    if (dependencyPropertyReferenceStep == null)
                    {
                        goto Label1;
                    }
                    if (property.TargetType.IsAssignableFrom(targetType))
                    {
                        return(property);
                    }
                    else
                    {
                        return(null);
                    }
                }
Label1:
                if (TypeHelper.IsSet(memberTypes, Microsoft.Expression.DesignModel.Metadata.MemberType.DependencyProperty))
                {
                    DependencyPropertyReferenceStep property1 = platformMetadata.GetProperty(typeResolver, declaringType, Microsoft.Expression.DesignModel.Metadata.MemberType.DependencyProperty, propertyName) as DependencyPropertyReferenceStep;
                    property = property1;
                    if (property1 != null)
                    {
                        return(property);
                    }
                }
            }
            return(null);
        }
 public static DependencyPropertyReferenceStep GetReferenceStep(ITypeResolver typeResolver, Type targetType, DependencyPropertyReferenceStep referenceStep, Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes)
 {
     return(DependencyPropertyReferenceStep.GetReferenceStep(typeResolver, targetType, referenceStep.DependencyProperty, PlatformTypeHelper.GetDeclaringType(referenceStep), referenceStep.Name, memberTypes));
 }
 public static DependencyPropertyReferenceStep GetReferenceStep(ITypeResolver typeResolver, Type targetType, System.Windows.DependencyProperty dependencyProperty, Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes)
 {
     return(DependencyPropertyReferenceStep.GetReferenceStep(typeResolver, targetType, dependencyProperty, dependencyProperty.OwnerType, dependencyProperty.Name, Microsoft.Expression.DesignModel.Metadata.MemberType.Property));
 }
示例#9
0
 IMember Microsoft.Expression.DesignModel.Metadata.IMutableMembers.GetMember(Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string uniqueName)
 {
     throw new NotSupportedException();
 }
示例#10
0
 public IMemberId GetMember(Microsoft.Expression.DesignModel.Metadata.MemberType memberTypes, string memberName, MemberAccessTypes access)
 {
     return(null);
 }
示例#11
0
 public UnknownMember(IType declaringType, Microsoft.Expression.DesignModel.Metadata.MemberType memberType, string propertyName) : base(declaringType, propertyName)
 {
     this.memberType = memberType;
     this.sortValue  = PropertySortValue.RegisterProperty(this);
 }