Silverlight DataGridDragDropTarget. Как перетащить элемент сетки данных в панель стека / пользовательский элемент управления?

У меня DataGrid. У меня DataGridDragDropTarget от November Toolkit.

Теперь я могу перетащить элемент сетки данных в список или в представление дерева.

Однако мне нужно перетащить элемент на мой пользовательский элемент управления (и добавить его на панель стека плоскостей).

Есть статья парня, который написал все эти расширения: http://themechanicalbride.blogspot.com/2009/10/silverlight-drag-drop-support-part-2.html

Но он непонятен. Кто-нибудь пробовал сделать нужное мне подобное?

Я хотел бы использовать поведение (настраиваемое поведение - это нормально - я делал это раньше) или решение DragDropTarget с помощью набора инструментов.

Я просто не знаю, как прикрепить к отдельному элементу сетки данных ...


person Community    schedule 10.03.2010    source источник


Ответы (1)


Что я сделал:

а. сетка обернута:

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

б. Дочерний пользовательский элемент управления, который должен получить перетаскивание, имеет подключенные 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);
...
person Community    schedule 11.03.2010