Yes, you have to create a new Ellipse. Also note that you can’t simply copy paintShape’s Fill to the new Ellipse. One Brush can only be used once.
Ellipse tmp = new Ellipse();
//This won't work because a Brush can only be used once.
//tmp.Fill = paintShape.Fill;
//Since you know you need red, just create a new red Brush.
tmp.Fill = new SolidColorBrush(Colors.Red);
tmp.Width = paintShape.Width;
tmp.Height = paintShape.Height;
tmp.SetValue(Canvas.LeftProperty, e.GetPosition(this).X);
tmp.SetValue(Canvas.TopProperty, e.GetPosition(this).Y);
this.Children.Add(tmp);
tmp = null;
shanaolanxing - Please mark the posts as answers if they help and unmark if they don't.