Я пытаюсь сделать что-то вроде, когда прикоснусь где-то на экране - эта позиция показывает круг
Но проблема в том, что - везде я касаюсь экрана, круг всегда появляется в середине моей сетки:
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);
}
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 Как добавить событие Click к эллипсу в коде?
Объедините эти два ресурса и реализуйте их, чтобы решить свою собственную проблему. Первый ресурс показывает, как создать эллипс, а второй ресурс показывает, как вызвать его с помощью обработчика событий. Надеюсь, это сработает и поможет вам.