private void DetachAdorners()
 {
     if (_insertAdorner != null)
     {
         _insertAdorner.Destroy();
         _insertAdorner = null;
     }
     if (_dragAdorner != null)
     {
         _dragAdorner.Destroy();
         _dragAdorner = null;
     }
 }
 private void InitializeDragAdorner(ItemsControl itemsControl, object dragData, Point startPosition)
 {
     if (this.DataTemplate != null)
     {
         if (_dragAdorner == null)
         {
             var adornerLayer = AdornerLayer.GetAdornerLayer(itemsControl);
             _dragAdorner = new DragAdorner(dragData, DataTemplate, itemsControl, adornerLayer);
             _dragAdorner.UpdatePosition(startPosition.X, startPosition.Y);
         }
     }
 }