public void DragStop() { if (!IsDragging) { return; } IsDragging = false; _mouseHook.Disable(); CloseWindow(); OnDragStopped(); if (_newSide.HasValue) { switch (_newSide.Value) { case WindowPositionSide.Left: case WindowPositionSide.Right: CurrentSide = _newSide == WindowPositionSide.Left ? DockingSide.Left : DockingSide.Right; OnDocked(CurrentSide); return; case WindowPositionSide.Top: _basewindow.WindowState = WindowState.Maximized; break; case WindowPositionSide.None: break; } } CurrentSide = DockingSide.None; }