1

我正在尝试使用以下技术在 WPF TreeView 控件中组合拖放解决方案:拖放 到 TreeView,查找插入拖放项的索引

当用户单击 TreeViewItem 时,首先treeViewItem_MouseLeftButtonDown执行,然后treeViewItem_Drop也执行。每一次点击。

4

1 回答 1

2

听起来您是DragDrop.DoDragDrop()treeViewItem_MouseLeftButton处理程序中调用的。释放鼠标按钮时会引发偶数,因此treeViewItem_Drop每次单击鼠标都会收到一个 drop 事件。尝试DoDragDroptreeViewItem_MouseMove处理程序调用。只需确保在调用之前按下鼠标左键即可DroDragDrop。您可能还需要确保鼠标在开始DragDrop操作之前已经移动了最小距离,例如

if(e.LeftButton == MouseButtonState.Pressed 
    && horizontal_move > SystemParameters.MinimumHorizontalDragDistance)
{
    DragDrop.DoDragDrop();
}
于 2013-05-13T18:44:54.100 回答