void thumb_DragDelta(object sender, DragDeltaEventArgs e) { mousePosition.Offset(e.HorizontalChange, e.VerticalChange); IInputElement inputElt = dataGrid.InputHitTest(mousePosition); var tb = inputElt as TextBlock; if (tb == null) { return; } Point bottomRight = dataGrid.PointFromScreen(tb.PointToScreen(new Point(tb.ActualWidth + 1, tb.ActualHeight + 1))); Rect = new Rect(rect.TopLeft, bottomRight); }