private static void OnAdornWithChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) {
			var element = obj as UIElement;
			var adornWith = args.NewValue as FrameworkElement;
			if (element != null && adornWith != null) {
				//var constructor = newType.GetConstructor(new[] { typeof(UIElement) });
				//var adorner = (Adorner)constructor.Invoke(new[] { element });
				var layer = AdornerLayer.GetAdornerLayer(element);
				var adorner = new VisualAdorner(adornWith, element);
				layer.Add(adorner);
			}
		}
        private static void OnAdornWithChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            var element   = obj as UIElement;
            var adornWith = args.NewValue as FrameworkElement;

            if (element != null && adornWith != null)
            {
                //var constructor = newType.GetConstructor(new[] { typeof(UIElement) });
                //var adorner = (Adorner)constructor.Invoke(new[] { element });
                var layer   = AdornerLayer.GetAdornerLayer(element);
                var adorner = new VisualAdorner(adornWith, element);
                layer.Add(adorner);
            }
        }