First, define a List destined to hold all the rectangles you create on Button1 press
List<rectangle> rectList = new List<rectangle>();
</rectangle></rectangle>
Don't copy the last two /rectangle with the brackets, I gave up trying to make the editor display it appropriately...
Then:
private void Button1_Click(object sender, RoutedEventArgs e)
{
Point pt = new Point(100, 90);
Rectangle rect = new Rectangle
{
Stroke = Brushes.Blue,
StrokeThickness = 1
};
rect.Width = 90;
rect.Height = 60;
rect.Fill = Brushes.Coral;
Canvas.SetLeft(rect, pt.X);
Canvas.SetTop(rect, pt.Y);
canvas1.Children.Add(rect);
rectList.Add(rect);
}
private void Button2_Click(object sender, RoutedEventArgs e)
{
foreach (Rectangle rect in rectList)
{
GeneralTransform myTransform = rect.TransformToDescendant(rect);
Point pt = myTransform.Transform(new Point(100, 50));
Canvas.SetLeft(rect, pt.X - rect.Width / 2);
Canvas.SetTop(rect, pt.Y - rect.Height / 2);
}
}