Witam,

Prosta aplikacja: klikamy w dowolny punkt [Canvas], pokazuje się linia, która z punktu (100, 100) śledzi położenie kursora, dopóki LPM jest wciśnięty.
Linia jest dodawana programowo.

"Z założenia" alikacja wygląda tak:

        private void Window_MouseDown(object sender, MouseButtonEventArgs e)
        {
            System.Windows.Point position = e.GetPosition(this);
            double pX = position.X;
            double pY = position.Y;

            x1 = pX;
            y1 = pY;

            Line path = new Line();
            path.Visibility = System.Windows.Visibility.Visible;
            path.StrokeThickness = 2;
            path.Stroke = System.Windows.Media.Brushes.Black;
            path.X1 = x0;
            path.Y1 = y0;
            path.X2 = x1;
            path.Y2 = y1;
            Canvas1.Children.Add(path);

            mouse_pressed = true;

        }

        private void Window_MouseUp(object sender, MouseButtonEventArgs e)
        {


            System.Windows.Point position = e.GetPosition(this);
            double pX = position.X;
            double pY = position.Y;

            x0 = pX;
            y0 = pY;
        }

        private void Window_MouseMove(object sender, MouseEventArgs e)
        {

            /*
            if (mouse_pressed == true)
            {
                System.Windows.Point position = e.GetPosition(this);
                double pX = position.X;
                double pY = position.Y;

                path.X2 = pX;       // błąd <<< "path" does not exist in current contnt
                path.Y2 = pY;       // błąd <<< "path" does not exist in current contnt
            }
            */
        }

Aplikacja działa zgodnie z oczekiwaniami, tj. każde kliknięcie tworzy ścieżkę, jednak nie wiem jak zaimplementować [mouse_move] tak, aby korygowała położenie lini wywołanej przez inne zdarzenie (aby linia śledziła kursor do czasu zwolnienia [PPM]:

MouseDown -> wywołuje (rysuje) linię (ostatni punkt, położenie myszy)
MouseMove -> modyfikuje ostatnio narysowaną linię (wywołaną przez zdarzenie 1), dopóki nie popuszczamy PPM,
MouseUp -> przypisuje nowe punkty orientacyjne