【发布时间】:2018-08-06 21:40:22
【问题描述】:
我已经创建了自定义 WPF 工具箱控件。我已经实现了拖放功能,该功能按预期工作,但是当我将鼠标(拖动数据)移动到放置目标上时,鼠标光标显示为无法完成此操作,尽管代码执行并且工作正常。 (here 你可以看到光标在目标上拖动时的样子)。我曾尝试关注目标OnDragEvent:
-
Mouse.OverrideCursor = Cursors.Hand;在这种情况下,光标只变化 1/1000 秒,然后又变回上图中可以看到的那个。 -
Cursor.Current = Cursors.Hand;这也不起作用。
【问题讨论】:
-
您的表单/面板/控件(无论屏幕截图的背景是什么)是否指定
AllowDrop=true? -
是的,确实如此。
-
你能分享你处理拖放机制的代码片段吗?还有您尝试手动设置光标的部分?
-
prnt.sc/kfbbnn 这就是我开始拖放操作的方式。目标元素被命名为内容(这是一个自定义控件),这就是我处理 dragEnter 事件的方式:prnt.sc/kfbdcr。我使用 control.DragEnter += new DragEventHandler(OnDragEnter); 绑定它
-
您在另一条评论中说您正在包装整个控件。您的包装器是否也定义了
AllowDrop-Property?如果是,您能否向我们展示控件的层次结构?喜欢Form(Panel(...))?您如何以及何时“重置”光标?你在其他方法调用中设置了吗?