Search code examples
c#wpfmulti-touchmouseclick-event

How to replace TouchPoint on mouse click


Please to say me, how can I replace command TouchPoint similarly on mouse click? I add my code which I must change:

 private Dictionary<int, UIElement> myEllipses =
        new Dictionary<int, UIElement>();
 private void cnv_MouseDown(object sender, MouseButtonEventArgs e)
    {
        Ellipse ellipse = new Ellipse();
        ellipse.Width = 30;
        ellipse.Height = 30;
        ellipse.Stroke = Brushes.White;
        ellipse.Fill = Brushes.Gold;


        TouchPoint tp = e.GetPosition(cnv);
        Canvas.SetTop(ellipse, tp.Bounds.Top);
        Canvas.SetLeft(ellipse, tp.Bounds.Left);

        myEllipses[e.TouchDevice.Id] = ellipse;


        cnv.Children.Add(ellipse);
    }

Solution

  • Try the GetPosition() method to get the point where mouse was clicked. Try this :

    private void cnv_MouseDown(object sender, MouseButtonEventArgs e)
    {
        Point clickedPt = e.GetPosition(this);
        var xPos = clickedPt.X;
        var yPos = clickedPt.Y;
    }