示例#1
0
        private static EventInfo GetClrEvent(Type containingType, XamlName eventName)
        {
            string eventMemberName     = eventName.MemberName;
            Type   eventContainingType = eventName.IsMemberName ? TypeParser.ParseType(eventName.ContainingTypeName) : containingType;

            return(eventContainingType.GetEvent(eventMemberName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy));
        }
示例#2
0
        private static RoutedEvent GetRoutedEvent(Type containingType, XamlName eventName)
        {
            string eventMemberName     = eventName.MemberName;
            Type   eventContainingType = eventName.IsMemberName ? TypeParser.ParseType(eventName.ContainingTypeName) : containingType;

            return(EventManager.GetOwnedRoutedEvent(containingType, eventMemberName));
        }
示例#3
0
        private static PropertyInfo GetClrProperty(Type containingType, XamlName propertyName)
        {
            string propertyMemberName     = propertyName.MemberName;
            Type   propertyContainingType = propertyName.IsMemberName ? TypeParser.ParseType(propertyName.ContainingTypeName) : containingType;

            return(propertyContainingType.GetInstanceProperty(propertyMemberName));
        }
示例#4
0
        private static PropertyInfo GetClrProperty(Type containingType, XamlName propertyName)
        {
            string propertyMemberName     = propertyName.MemberName;
            Type   propertyContainingType = propertyName.IsMemberName ? TypeParser.ParseType(propertyName.ContainingTypeName) : containingType;

            PropertyInfo propertyInfo = propertyContainingType.GetInstanceProperty(propertyMemberName);

            return(propertyInfo != null && !propertyInfo.IsDelegate() ? propertyInfo : null);
        }
示例#5
0
        private static PropertyInfo GetEventProperty(Type containingType, XamlName eventName)
        {
            string eventMemberName     = eventName.MemberName;
            Type   eventContainingType = eventName.IsMemberName ? TypeParser.ParseType(eventName.ContainingTypeName) : containingType;

            PropertyInfo eventProperty = eventContainingType.GetInstanceProperty(eventMemberName);

            return(eventProperty != null && eventProperty.IsDelegate() ? eventProperty : null);
        }
示例#6
0
 public object ConvertFrom(XamlNamespaces namespaces, Uri sourceUri, object value)
 {
     return(TypeParser.ParseType(value.ToString().Trim(), namespaces));
 }
示例#7
0
 public static Type ResolveContainingType(this XamlName name, Type defaultContainingType)
 {
     return(name.HasContainingTypeName ? TypeParser.ParseType(new XamlName(name.ContainingTypeName, name.NamespaceName)) : defaultContainingType);
 }
示例#8
0
 public static Type GetElementType(this XamlElement element)
 {
     return(TypeParser.ParseType(element.Name));
 }