void AddBorderAdorner(FrameworkElement adornedElement) { if (adornedElement != null) { AdornerLayer layr = AdornerLayer.GetAdornerLayer(adornedElement); if (layr != null) { BorderAdorner adr = new BorderAdorner(adornedElement); adr.ToolTip = adornedElement.ToolTip; adr.ContextMenu = adornedElement.ContextMenu; layr.Add(adr); SetDragging(adr); } } }
void DragHelper_PreviewDragStarted(object sender, DragStartedEventArgs e) { SpaceObject s = e.DragObject as SpaceObject; if (s != null && s.Tag != null) { canvas.Children.Remove(s); } else { BorderAdorner badr = e.DragObject as BorderAdorner; if (badr != null) { canvas.Children.Remove(SelectedSpaceObject); } } }
void RemoveBorderAdorner(UIElement adornedElement) { if (adornedElement != null) { AdornerLayer layr = AdornerLayer.GetAdornerLayer(adornedElement); if (layr != null) { Adorner[] adorners = layr.GetAdorners(adornedElement); if (adorners != null) { foreach (Adorner adr in adorners) { BorderAdorner badr = adr as BorderAdorner; if (badr != null) { layr.Remove(badr); badr.DisposeDragging(); } } } } } }