繁体   English   中英

如何防止子控件触发DragEnter事件

How to prevent sub-controls from firing DragEnter events

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在WPF中构建了一个自定义TreeView。 该控件支持拖放(将控件外部的节点重新排序或将节点拖到其他控件上)。

我必须检测拖放操作是来自其他控件还是从TreeView中启动。 我还想检测拖动操作是否“离开”了控件。

对于此检测,我使用常规的DragEnter和DragLeave事件。 这里的问题是,此事件也正在为子控件触发。

我开始拖动操作,并触发了DragEnter事件。 当我将鼠标移到子控件上时,再次触发DragEnter事件-在我看来,这是正确的行为,因为子控件不处理该事件,并且一直“冒泡”到主控件(最外层)控制)。

有什么办法可以防止这种行为? 我尝试为每个子控件设置“ AllowDrop”,但这会导致“禁止”光标。

作为一种解决方法,我已经实现了将所有TreeViewItem实例的IsHitTestVisible属性设置为False的代码,并且当拖动操作停止时,该属性设置为true。 有更好的解决方案吗?

问题暂未有回复.您可以查看右边的相关问题.
1 如何从 WinForms 应用程序中用户控件上的子控件获取事件?

有没有办法让主窗体能够拦截在用户控件上的子控件上触发的事件? 我在应用程序的主窗体中嵌入了一个自定义用户控件。 该控件包含处理数据的各种子控件,这些子控件本身由主窗体上的其他控件显示。 我想要的是当用户更改子控件时是否可以以某种方式通知主窗体,以便我可以在其他地方更新数据和相应的显示。 现在,我 ...

3 是否有一个控件来安排可变数量的子控件?

有谁知道如何查找或制作WPF容器控件,该控件将显示固定大小的子控件的二维数组(子控件的数量在运行时变化),以便填充第一行,然后填充第二行,依此类推,直到没有更多子控件或所有行都被填充为止。 如果用户使容器变宽,则列数应增加,因此: 1 2 3 4 5 6 7 8 9 会成为 ...

6 Qt中自定义小部件的子控件

在Qt中,可以使用子控件来设置控件的样式,这些控件是另一个控件的一部分: http : //doc.qt.io/qt-5/stylesheet-syntax.html#sub-controls 例如:使用QDockWidget::close-button ,我可以在QDockWidget中 ...

7 用户控件子控件的WPF处理程序

我已经定义了一个用户控件来表示一个由几个按钮组成的选项卡项目。 创建用户选项卡项的实例时,我想为按钮单击定义单击处理程序。 例如 对于Tab1中的Button1和Button2,我想定义以下内容 自然,以上方法不起作用。 有谁知道我怎么能做到这一点。 提 ...

8 jQuery自动完成功能:如何防止事件触发

诸如“搜索/选择”之类的自动完成事件会触发“ Home”,“ End”,“ Shift”等键盘键。 我在演示站点Ex上没有看到这些示例,例如: http : //jqueryui.com/demos/autocomplete/remote.html 请让我知道如何阻止某些键盘事件的“ ...

9 DragDrop - DragEnter / DragLeave事件继续触发

我在Canvas上有一个拖放操作,当一个对象被拖入和拖出时,它应该做某事。 我的问题是DragEnter / DragLeave事件在鼠标移动对象时继续触发,而不仅仅是在进入/退出时。 鼠标移动得越快,事件发生的频率就越高。 Canvas DragOver事件移动了DraggedObj ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM