2013-05-09 78 views
0

在我的应用程序中,我希望允许用户将项目从树视图拖到画布上,以便为拖动的项目生成控件。我试图使用PanelDragDropTarget来做到这一点,但画布无法听到放置事件。将silverlight项目拖放到Silverlight中的画布

在XAML文件:

<toolkit:PanelDragDropTarget AllowDrop="True" Drop="drop_event"> 
    <Canvas Name="myCanvas" /> 
</toolkit:PanelDragDropTarget> 

在xaml.cs文件:

void drop_event(object sender, DropEventArgs e) 
{ 
    MessageBox.Show("dropped"); 
} 

什么是做正确的方法是什么?非常感谢。

回答

0

问题解决。

我创建了一个继承DragDropTarget的类,并将其中的画布包裹起来。

public class CanvasDragDrop : DragDropTarget<Panel, UIElement> 
    { 
     //override methods if you needed 
    } 

在XAML文件

<CanvasDragDrop AllowDrop="True"> 
     <Canvas x:Name="myCanvas" /> 
    </CanvasDragDrop>