如何在我触摸Windows Phone的位置上画一个椭圆

本文关键字:一个 位置 触摸 Windows Phone | 更新日期: 2023-09-27 18:08:35

我试着做一些事情,比如当我触摸屏幕上的某个位置时-该位置显示一个圆圈

但问题是-无论我触摸屏幕,圆圈总是出现在我的网格的中间:

public void Draw_Circle(int x, int y)
{
        SolidColorBrush scb_O = new SolidColorBrush(Colors.Red);
        Ellipse elip = new Ellipse();
        elip.Stroke = scb_O;
        elip.StrokeThickness = 2;
        elip.Height = dd;
        elip.Width = dd;
        Canvas.SetLeft(elip, (double)x);
        Canvas.SetTop(elip, (double)y);
        //elip.SetValue(Canvas.TopProperty, (double)x);
        //elip.SetValue(Canvas.LeftProperty, (double)y);
        try
        {
            ContentPanel.Children.Add(elip);
        }
        catch (Exception ex2)
        {
            MessageBox.Show("Error: " + ex2);
        }
    }

和触摸位置:

protected override void OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
        base.OnMouseLeftButtonDown(e);
        Point p1 = e.GetPosition(null);
        int x = (int)p1.X;
        int y = (int)p1.Y;
        //MessageBox.Show(x + " , " + y + "'n" + p1.X + " , " + p1.Y);
        Draw_Circle(x, y);
}

如何在我触摸Windows Phone的位置上画一个椭圆

elip.HorizontalAlignment = HorizontalAlignment.Left;
elip.VerticalAlignment = VerticalAlignment.Top;
elip.RenderTransform = new TranslateTransform() { X = 10, Y = 50 }

http://msdn.microsoft.com/en-us/library/system.windows.shapes.ellipse(v=vs.110).aspx如何在代码后面添加一个点击事件到椭圆?

结合这两种资源并实施它们来解决你自己的问题。第一个资源展示了如何创建椭圆,第二个资源展示了如何使用事件处理程序调用椭圆。