在silverlight中将treeview项目拖动到画布

在silverlight中将treeview项目拖动到画布,silverlight,canvas,drag-and-drop,Silverlight,Canvas,Drag And Drop,在我的应用程序中,我希望允许用户将项目从树状视图拖动到画布,并为拖动的项目生成控件。我曾尝试使用PanelDragDropTarget来执行此操作,但画布无法侦听drop事件 在xaml文件中: <toolkit:PanelDragDropTarget AllowDrop="True" Drop="drop_event"> <Canvas Name="myCanvas" /> </toolkit:PanelDragDropTarget> 正确的方法是

在我的应用程序中,我希望允许用户将项目从树状视图拖动到画布,并为拖动的项目生成控件。我曾尝试使用PanelDragDropTarget来执行此操作,但画布无法侦听drop事件

在xaml文件中:

<toolkit:PanelDragDropTarget AllowDrop="True" Drop="drop_event">
    <Canvas Name="myCanvas" />
</toolkit:PanelDragDropTarget>
正确的方法是什么?非常感谢。

问题解决了

我创建了一个继承DragDropTarget并将画布包装在其中的类

    public class CanvasDragDrop : DragDropTarget<Panel, UIElement>
    {
        //override methods if you needed
    }
公共类CanvasDragDrop:DragDropTarget
{
//如果需要,重写方法
}
在xaml文件中

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

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