2

因此,一旦将形状拖放到画布上,我就会尝试创建形状的副本。我的 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;
    }
4

0 回答 0