C# 如何让windows窗体控件捕获拖动enter而不是嵌入WPF画布
这是一个非常基本的设置。我有一个System.Windows.Forms面板,其中包含一个ElementHost控件,该控件包含一个System.Windows.Controls画布。用户开始拖动操作并从Canvas控件触发drag enter事件,但我真正想要的是让Canvas忽略drag enter,并让保存Canvas的父System.Windows.Forms.Panel捕获事件。我怎样才能做到这一点呢?简单的答案是,你不能做到这一点。如果将Win32、WPF或DirectX技术混合在一起,那么上面的一种技术优先,对其他技术来说是一个黑洞。您正在经历的限制称为空域,如果您四处搜索,您会发现许多讨论空域限制和混合WPF/Winforms/DirectX内容的文章。请参阅以下连结: 可能有一些方法有助于为您试图实现的目标提供解决方案。例如,在WPF中处理输入,然后以其他方式显式地将其传递回您的程序。一些快速的谷歌搜索显示:C# 如何让windows窗体控件捕获拖动enter而不是嵌入WPF画布,c#,.net,wpf,vb.net,winforms,C#,.net,Wpf,Vb.net,Winforms,这是一个非常基本的设置。我有一个System.Windows.Forms面板,其中包含一个ElementHost控件,该控件包含一个System.Windows.Controls画布。用户开始拖动操作并从Canvas控件触发drag enter事件,但我真正想要的是让Canvas忽略drag enter,并让保存Canvas的父System.Windows.Forms.Panel捕获事件。我怎样才能做到这一点呢?简单的答案是,你不能做到这一点。如果将Win32、WPF或DirectX技术混合在一
这是一个简单的挂起,D+D只能在鼠标光标可以看到放置目标时工作。不是,您的面板由ElementHost覆盖。而它又被画布所覆盖,这就是它的D+D事件被隐藏的原因。不完全覆盖小组将是一种解决办法。