Esempio n. 1
0
        private static void PropertyChangedCallback(DependencyObject dependencyObject,
                                                    DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            string attachString = dependencyPropertyChangedEventArgs.NewValue as string;

            if (!string.IsNullOrWhiteSpace(attachString))
            {
                EventHandlerList handlerHelpers = new EventHandlerList();
                string[]         attachStrings  = attachString.Split(';');

                foreach (string s in attachStrings)
                {
                    var trimString = s.Trim();

                    if (!string.IsNullOrEmpty(trimString))
                    {
                        var newHandler = new EventHandlerInstance {
                            Attach = trimString
                        };

                        handlerHelpers.Add(newHandler);
                    }
                }

                SetList(dependencyObject, handlerHelpers);
            }
        }
Esempio n. 2
0
        private static void ListChangedCallback(DependencyObject dependencyObject,
                                                DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            EventHandlerList oldHandlerList = dependencyPropertyChangedEventArgs.OldValue as EventHandlerList;

            if (oldHandlerList != null)
            {
                foreach (EventHandlerInstance eventHandlerInstance in oldHandlerList)
                {
                    eventHandlerInstance.Disconnect();
                }
            }

            EventHandlerList newList = dependencyPropertyChangedEventArgs.NewValue as EventHandlerList;

            if (newList != null)
            {
                foreach (EventHandlerInstance eventHandlerInstance in newList)
                {
                    eventHandlerInstance.Connect(dependencyObject);
                }
            }
        }
Esempio n. 3
0
 public static void SetList(DependencyObject obj, EventHandlerList value)
 {
     obj.SetValue(InternalListProperty, value);
 }