Exemplo n.º 1
0
        private static bool TryCreateAdapter(TypeMemberKey key, out IEventAdapter adapter)
        {
            adapter = null;

            RoutedEvent routedEvent = GetRoutedEvent(key.Type, key.MemberName);

            if (routedEvent != null)
            {
                adapter = new RoutedEventAdapter(routedEvent);
                return(true);
            }

            EventInfo clrEvent = GetClrEvent(key.Type, key.MemberName);

            if (clrEvent != null)
            {
                adapter = new ClrEventAdapter(clrEvent);
                return(true);
            }

            PropertyInfo eventProperty = GetEventProperty(key.Type, key.MemberName);

            if (eventProperty != null)
            {
                adapter = new EventPropertyAdapter(eventProperty);
                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        public static IElementInitializer Create(XamlName memberName, Type containingType, IEnumerable <object> values, XamlNamespaces namespaces)
        {
            IEventAdapter eventAdapter = EventAdapter.CreateAdapter(containingType, memberName);

            if (eventAdapter != null)
            {
                return(new ElementEventMemberInitializer(eventAdapter, GetEventHandlerName(memberName, values)));
            }

            IPropertyAdapter propertyAdapter = PropertyAdapter.CreateAdapter(containingType, memberName);

            if (propertyAdapter != null)
            {
                return(ElementPropertyMemberInitializer.Create(propertyAdapter, values, namespaces));
            }

            throw new Granular.Exception("Type \"{0}\" does not contain a member named \"{1}\"", containingType.Name, memberName);
        }
Exemplo n.º 3
0
 protected override void PreStart()
 {
     base.PreStart();
     _eventAdapter = BuildDefaultJournalAdapter();
     BecomeStacked(AwaitingConnection);
 }
Exemplo n.º 4
0
 public ElementEventMemberInitializer(IEventAdapter eventAdapter, string eventHandlerName)
 {
     this.eventAdapter = eventAdapter;
     this.eventHandlerName = eventHandlerName;
 }
 public void Map(Type providerType, IEventAdapter adapter)
 {
     _adapters.Add(providerType, adapter);
 }
Exemplo n.º 6
0
 public ElementEventMemberInitializer(IEventAdapter eventAdapter, string eventHandlerName)
 {
     this.eventAdapter     = eventAdapter;
     this.eventHandlerName = eventHandlerName;
 }
Exemplo n.º 7
0
 public static IElementInitializer FromXamlElement(IEventAdapter eventAdapter, XamlElement eventElement)
 {
     return new ElementEventMemberInitializer(eventAdapter, GetEventHandlerName(eventElement));
 }
Exemplo n.º 8
0
 public static IElementInitializer FromXamlAttribute(IEventAdapter eventAdapter, XamlAttribute eventAttribute)
 {
     return new ElementEventMemberInitializer(eventAdapter, GetEventHandlerName(eventAttribute));
 }