C# 在单独的类中将事件添加到Silverlight形状

C# 在单独的类中将事件添加到Silverlight形状,c#,silverlight,events,silverlight-3.0,C#,Silverlight,Events,Silverlight 3.0,因此,我试图创建一个形状的副本,一旦它被放到画布上。 我的事件处理程序位于MainPage.xaml.cs上。 然后我使用另一个类来处理拖放等操作。 然后我扩展shape类来创建一个副本并返回它。一切都正常,除了矩形在画布上时,事件不正常。因为他们没有针对xaml.cs中的事件,我该如何解决这个问题?谢谢 // In my drag/drop class I add the control _cContainer.Children.Add(s.AsRectangle(_tCont

因此,我试图创建一个形状的副本,一旦它被放到画布上。 我的事件处理程序位于MainPage.xaml.cs上。 然后我使用另一个类来处理拖放等操作。 然后我扩展shape类来创建一个副本并返回它。一切都正常,除了矩形在画布上时,事件不正常。因为他们没有针对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;
    }