WPF树视图拖放事件总是在点击元素时触发
本文关键字:元素 视图 拖放 事件 WPF | 更新日期: 2023-09-27 18:13:07
我正在尝试创建一个拖拽&WPF TreeView控件中的drop解决方案,使用这些技术:拖放到TreeView中,找到要插入被拖放项的索引
当用户点击一个TreeViewItem时,首先执行treeViewItem_MouseLeftButtonDown
,然后执行treeViewItem_Drop
。
听起来你正在从treeViewItem_MouseLeftButton
处理程序调用DragDrop.DoDragDrop()
。当鼠标按钮被释放时,treeViewItem_Drop
甚至会被触发,所以你每次点击鼠标都会得到一个drop事件。尝试从treeViewItem_MouseMove
处理程序调用DoDragDrop
。只需确保在调用DroDragDrop
之前按下鼠标左键。您可能还希望在开始DragDrop
操作之前确保鼠标移动了最小距离,例如
if(e.LeftButton == MouseButtonState.Pressed
&& horizontal_move > SystemParameters.MinimumHorizontalDragDistance)
{
DragDrop.DoDragDrop();
}