private void RemoveDraggedAdorner()
 {
     if (_draggedAdorner != null)
     {
         _draggedAdorner.Detach();
         _draggedAdorner = null;
     }
 }
        // Adorners

        // Creates or updates the dragged Adorner.
        private void ShowDraggedAdorner(Point currentPosition)
        {
            if (_draggedAdorner == null)
            {
                var adornerLayer = AdornerLayer.GetAdornerLayer(_sourceItemsControl);
                _draggedAdorner = new DraggedAdorner(_draggedData, GetDragDropTemplate(_sourceItemsControl), _sourceItemContainer, adornerLayer);
            }

            double left = currentPosition.X - _initialMousePosition.X + _initialMouseOffset.X;
            //Debug.WriteLine("Adorner Left: " + left);
            double top = currentPosition.Y - _initialMousePosition.Y + _initialMouseOffset.Y;

            //Debug.WriteLine("Adorner Top: " + top);
            _draggedAdorner.SetPosition(left, top);
        }