protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (controller.isOptionsDialogShown == false) { CustomCursor.Visibility = Visibility.Visible; Point p = e.GetPosition(mouseDragCanvas); double pX = p.X; double pY = p.Y; Cursor = Cursors.None; Canvas.SetTop(CustomCursor, pY); Canvas.SetLeft(CustomCursor, pX); Canvas.SetZIndex(CustomCursor, int.MaxValue); } controller.MouseMove(this, e); }