Пример #1
0
 public ControlAdorner(LinkableControl AdorneredItem)
     : base(AdorneredItem)
 {
     _children = new List <LinkPin>(4);
     foreach (var pos in AdorneredItem.GetLinkPositions())
     {
         LinkPin pin = new LinkPin(pos.Orient, pos.Position);
         this._children.Add(pin);
         this.AddLogicalChild(pin);
         this.AddVisualChild(pin);
     }
 }
Пример #2
0
        static void IsLinkDragOverPropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
        {
            LinkableControl lc           = o as LinkableControl;
            AdornerLayer    adornerLayer = AdornerLayer.GetAdornerLayer(lc);

            if (lc.LinkableAdorner != null && adornerLayer != null)
            {
                if (e.NewValue.Equals(true))
                {
                    lc.LinkableAdorner.Visibility = Visibility.Visible;
                    adornerLayer.Add(lc.LinkableAdorner);
                }
                else
                {
                    lc.LinkableAdorner.Visibility = Visibility.Hidden;
                    adornerLayer.Remove(lc.LinkableAdorner);
                }
            }
        }