public void UpdateDragDrop(DragEventArgs e) { object draggedData = e.Data.GetData(Format.Name); if (draggedData != null) { Point currentPosition = e.GetPosition(_topWindow); if (_draggedAdorner == null) { var adornerLayer = AdornerLayer.GetAdornerLayer(_source); _draggedAdorner = new DraggedAdorner(draggedData, ItemsControlBehaviors.GetDragDropTemplate(_source), _sourceItemContainer, adornerLayer); } _draggedAdorner.SetPosition(currentPosition.X - _initialMousePosition.X + _initialMouseOffset.X, currentPosition.Y - _initialMousePosition.Y + _initialMouseOffset.Y); } }
private void RemoveDraggedAdorner() { if (_draggedAdorner != null) { _draggedAdorner.Detach(); _draggedAdorner = null; } }