因此,一旦将形状拖放到画布上,我就会尝试创建形状的副本。我的 EventHandlers 在 MainPage.xaml.cs 上。然后我使用另一个类来处理拖放等。然后我扩展形状类以创建一个副本并返回它。一切正常,除了一旦矩形在画布上,事件就不起作用。(因为它们不是针对 xaml.cs 中的事件)我该如何解决这个问题?谢谢!
// In my drag/drop class I add the control
_cContainer.Children.Add(s.AsRectangle(_tContainer));
// In my extension of the shape class
public static Rectangle AsRectangle(this Shape s, Canvas c)
{
Rectangle r = new Rectangle() {
Fill = s.Fill,
Height = s.Height,
Width = s.Width
};
r.MouseLeftButtonDown += new MouseButtonEventHandler(Handle_MouseDown);
r.MouseMove += new MouseEventHandler(Handle_MouseMove);
r.MouseLeftButtonUp += new MouseButtonEventHandler(Handle_MouseUp);
Canvas.SetLeft(r, s.GetLeft() - c.Width);
Canvas.SetTop(r, s.GetTop());
return r;
}