protected override void OnLocationChanged(EventArgs e) { base.OnLocationChanged(e); if (IsInDrag) { Draging?.Invoke(this, GetMouseScreenPos(), Data); } }
private void HeaderLBDown(DroppableContentControl control, MouseButtonEventArgs e) { MouseDeltaPoint = e.GetPosition(this); RootTabs.AllowDropTab = false; ResizeMode = ResizeMode.NoResize; IsHitTestVisible = false; DragManager.PerformDrag(this); Draging?.Invoke(this, GetMouseScreenPos(), Data); IsInDrag = true; DragMove(); FinishDrag(); e.Handled = true; }
protected override void OnContentRendered(EventArgs e) { base.OnContentRendered(e); if (!HasInitialized) { HasInitialized = true; CaptureMouse(); var deltaPos = Mouse.GetPosition(this) - MouseDeltaPoint; ReleaseMouseCapture(); Left += deltaPos.X; Top += deltaPos.Y; IsInDrag = true; if (Mouse.LeftButton == MouseButtonState.Pressed) { Draging?.Invoke(this, GetMouseScreenPos(), Data); DragMove(); // blocking call } FinishDrag(); } }