MouseEvent i dynamiczne przesuwanie kontrolki w oknie

0

Do panelu Canvas rysuję linię:

Line linia_gora = new Line();

linia_gora.Stroke = System.Windows.Media.Brushes.Silver;
linia_gora.StrokeThickness = 2;

 linia_gora.X1 = iks;
 linia_gora.X2 = iks + (LVCanvas.ActualWidth / 5);
 linia_gora.Y1 = igrek;
 linia_gora.Y2 = igrek;

LVCanvas.Children.Add(linia_gora);

Próbuję dołączyć do Line zdarzenie myszy, żeby po wciśnięciu i przytrzymaniu lewego klawisza myszy można było zmieniać położenie tej linii.

Udało mi się zrobić tak, że dodaję:

 linia_gora.MouseMove += new MouseEventHandler(line_MouseD);
  void line_MouseD(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                ((Line)sender).Stroke = Brushes.Red;
                Point pointToWindow = Mouse.GetPosition(LVCanvas);
            

                ((Line)sender).X1 = pointToWindow.X;
                ((Line)sender).X2 = pointToWindow.X + LVCanvas.ActualWidth / 5;
                ((Line)sender).Y1 = pointToWindow.Y;
                ((Line)sender).Y2 = pointToWindow.Y;
            }
        }

To działa, ale tylko gdy kursor znajduje się nad tym elementem(zdarzenie MouseMove). Czy ktoś mógłby podpowiedzieć na jaki event zmienić MouseMove żeby uzyskać odpowiedni efekt?

1 użytkowników online, w tym zalogowanych: 0, gości: 1