Silverlight DataGridDragDropTarget。如何将数据网格项拖动到堆栈面板/用户控件?

时间:2010-03-10 10:35:42

标签: silverlight datagrid silverlight-toolkit

我有DataGrid。我有来自November Toolkit的DataGridDragDropTarget

我现在可以将数据网格项拖放到列表框或树视图中。

但是我需要将项目放到我的用户控件上(并将其添加到平面堆栈面板)。

撰写所有这些扩展名的人写了一篇文章:http://themechanicalbride.blogspot.com/2009/10/silverlight-drag-drop-support-part-2.html

但是他很不专心。有人试图做我需要的类似吗?

我想使用行为(自定义行为很好 - 我以前做过)或工具包DragDropTarget解决方案。

我只是不知道如何附加到单个数据网格项...

1 个答案:

答案 0 :(得分:3)

我做了什么:

一个。网格包裹在:

            <dtool:DataGridDragDropTarget msw:DragDrop.AllowDrop="False" ItemDragCompleted="ItemDragCompleted_Handler"
                                          HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">

湾应该接收丢弃的子用户控件会挂起MouseEnter / MouseLeave个事件并公开IsMouseInside公共属性。

℃。事件处理程序如下:

void ItemDragCompleted_Handler(object sender, ItemDragEventArgs e)
{
    if (ChildControl.IsMouseInside)
    {
        SelectionCollection sel = (e.Data as SelectionCollection);
        ChildControl.AddItem(sel[0].Item as MyData);
...