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

时间:2012-07-20 16:15:04

标签: c# silverlight events silverlight-3.0

所以我试图在画布上放下一个形状的副本。 我的EventHandlers位于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;
    }

0 个答案:

没有答案