在Silverlight中从ItemDragEventArgs获取目标点

问题描述

|| 如何从
ItemDragEventArgs
获取目的地?使用
Microsoft.Windows.DragEventArgs e
很容易:easy2ѭ XAML
<toolkit:PanelDragDropTarget AllowDrop=\"True\" ItemDroppedOnTarget=\"DragAndDrop_ItemDroppedOnTarget\">
后面的代码
private void DragAndDrop_ItemDroppedOnTarget(object sender,ItemDragEventArgs e)
{
   // how to get the destination Point here??
}
    

解决方法

        这看起来很像骇客,但它确实有效并且非常准确:
private Point _releasePoint;

public Grid()
{
   Grid.MouseLeftButtonUp += new MouseButtonEventHandler(Grid_MouseLeftButtonUp);
}

void Grid_MouseLeftButtonUp(object sender,MouseButtonEventArgs e)
{
   _releasePoint = e.GetPosition(Grid);
}

private void DragAndDrop_ItemDroppedOnTarget(object sender,ItemDragEventArgs e)
{
   // fires next and _releasePoint is already set
}