1

我有一个DataGrid. 我有DataGridDragDropTarget十一月工具包。

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

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

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

但他不明白。有没有人尝试做我需要的类似事情?

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

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

4

1 回答 1

3

我做了什么:

一种。网格被包裹在:

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

湾。应该接收 drop 的子用户控件已连接MouseEnter/MouseLeave事件并IsMouseInside暴露了公共属性。

C。事件处理程序如下:

void ItemDragCompleted_Handler(object sender, ItemDragEventArgs e)
{
    if (ChildControl.IsMouseInside)
    {
        SelectionCollection sel = (e.Data as SelectionCollection);
        ChildControl.AddItem(sel[0].Item as MyData);
...
于 2010-03-11T16:01:53.623 回答