예제 #1
0
        private static void OnOrderChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            UIElement adorner = sender as UIElement;

            if (adorner != null)
            {
                AdornerLayer adornerLayer = VisualTreeHelper.GetParent((DependencyObject)adorner) as AdornerLayer;
                if (adornerLayer != null)
                {
                    adornerLayer.OnOrderChanged(adorner);
                }
            }
            AdornerProperties.GetLayout(sender).AdornerPropertyChanged(sender, args);
        }
예제 #2
0
 private static void OnPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
 {
     if (args.Property == AdornerProperties.LayoutProperty)
     {
         ((AdornerLayout)args.OldValue).AdornerPropertyChanged(sender, args);
         ((AdornerLayout)args.NewValue).AdornerPropertyChanged(sender, args);
         UIElement adorner = sender as UIElement;
         if (adorner == null)
         {
             return;
         }
         AdornerLayer adornerLayer = VisualTreeHelper.GetParent((DependencyObject)adorner) as AdornerLayer;
         if (adornerLayer == null)
         {
             return;
         }
         adornerLayer.OnLayoutChanged(adorner);
     }
     else
     {
         AdornerProperties.GetLayout(sender).AdornerPropertyChanged(sender, args);
     }
 }
예제 #3
0
 private static void OnModelChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
 {
     AdornerProperties.GetLayout(sender).AdornerPropertyChanged(sender, args);
 }
예제 #4
0
 protected override Size ArrangeOverride(Size finalSize)
 {
     return(AdornerProperties.GetLayout((DependencyObject)this).ArrangeChildren((FrameworkElement)this, this.InternalChildren, finalSize));
 }