private void Drop(Target target, bool isShiftKeyDown) { if (target.TargetPosition == DropPosition.Floating) { Rect rect = Rect.Offset(_floatingWindowStartBounds, MouseDeltaX, MouseDeltaY); _source.Drop(rect); } else if (target.TargetPosition == DropPosition.Tab) { _source.Drop(target.TargetItem); } else if (target.TargetPane != null) { _source.Drop(target.TargetPane, GetDockPanePreviewPlacement(target.TargetPosition)); } else if (target.TargetPosition == DropPosition.Left) { _source.Drop(Dock.Left, isShiftKeyDown); } else if (target.TargetPosition == DropPosition.Right) { _source.Drop(Dock.Right, isShiftKeyDown); } else if (target.TargetPosition == DropPosition.Top) { _source.Drop(Dock.Top, isShiftKeyDown); } else if (target.TargetPosition == DropPosition.Bottom) { _source.Drop(Dock.Bottom, isShiftKeyDown); } else if (target.TargetPosition == DropPosition.Fill) { _source.Drop(); } }