【发布时间】:2015-10-12 02:29:05
【问题描述】:
我需要在拖放系统期间为我的 ListView 创建插入标记。 (作为PowerPoint)。我在 Componentowl 中找到了插入标记,但我需要为 ListView 中的拖放创建自己的插入标记。
【问题讨论】:
我需要在拖放系统期间为我的 ListView 创建插入标记。 (作为PowerPoint)。我在 Componentowl 中找到了插入标记,但我需要为 ListView 中的拖放创建自己的插入标记。
【问题讨论】:
理论上应该这样做:
处理可拖动元素的MouseLeftButtonDown、MouseMove 和MouseLeftButtonUp 事件。当按下鼠标按钮时,您需要在元素上capture mouse,以便在拖动时获得MouseMove事件,在释放按钮时获得release the capture。
在MouseMove 事件处理程序中,您需要找出鼠标下的元素并在Popup 控件或Adorner Layer 中显示“插入标记”(弹出控件用于在所有内容的顶部显示内容)并更新其位置。
Alternativley,您可以在放置目标元素上使用DragEnter、DragOver 和DragLeave 事件处理程序,以在弹出或装饰层中插入标记。
您可以阅读这篇文章: http://blogs.msdn.com/b/jaimer/archive/2007/07/12/drag-drop-in-wpf-explained-end-to-end.aspx
或本文:https://cuteprogramming.wordpress.com/2010/12/19/drag-and-drop-reordering-in-wpf-listview/ 指本文:http://www.codeproject.com/KB/WPF/ListViewDragDropManager.aspx
这是另一种解决方案: https://codeblitz.wordpress.com/2009/06/17/wpf-drag-drop-adorner/
【讨论】: