Что я сделал:
а. сетка завернута в:
<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);
...