private void OnMouseMove_Resize(ref bool handled, Point mousePositionHeaders) { if (handled) { return; } if (_dragMode == DragMode.Resize && _dragColumn != null && _dragStart.HasValue) { // resize column double mouseDelta = mousePositionHeaders.X - _dragStart.Value.X; double desiredWidth = _originalWidth + mouseDelta; desiredWidth = Math.Max(_dragColumn.ActualMinWidth, Math.Min(_dragColumn.ActualMaxWidth, desiredWidth)); _dragColumn.Resize(_dragColumn.Width.Value, _dragColumn.Width.UnitType, _dragColumn.Width.DesiredValue, desiredWidth, true); this.OwningGrid.UpdateHorizontalOffset(_originalHorizontalOffset); handled = true; } }