Пример #1
0
        private static void OnServiceListChanged(DependencyObject sender, DependencyPropertyChangedEventArgs changeArgs)
        {
            var element = sender as FrameworkElement;
            var oldList = changeArgs.OldValue as UIServiceCollection;

            if (element != null)
            {
                if (oldList != null)
                {
                    var oldProvider = GetServiceProvider(element);
                    if (oldProvider != null)
                    {
                        oldProvider.Dispose();
                    }
                }

                // Create a service provider for the element.
                UIServiceProvider newProvider = null;
                var newList = changeArgs.NewValue as UIServiceCollection;
                if (newList != null)
                {
                    newProvider = new UIServiceProvider();
                    newProvider.AttachToElement(element, newList);
                }
                SetServiceProvider(element, newProvider);
            }
        }
Пример #2
0
        private static UIServiceProvider CreateServiceProvider(FrameworkElement element)
        {
            var serviceList = GetServiceList(element);

            if (serviceList == null)
            {
                return(null);
            }

            log.DebugFormat("Creating a new service provider for {0}", element);
            var serviceProvider = new UIServiceProvider();

            SetServiceProvider(element, serviceProvider);
            serviceProvider.AttachToElement(element, serviceList);
            return(serviceProvider);
        }