2012-07-30 87 views
5

我不确定为什么,但HwndHost上的拖放事件似乎不起作用(实际上根本没有事件发生)。我能够挂接到HwndHost的Windows消息,但是,我似乎无法找到任何有用的东西。WPF HwndHost Drag&Drop

我试图能够将一个节点从一个树形视图拖到一个承载XNA的HwndHost上。我在HwndHost上将AllowDrop设置为true,但它似乎什么都不做。有谁知道我如何使HwndHost成为拖放操作的目标?

谢谢!

+0

我会去了解一下得到expression.interactivity DLL,它允许你叫拖在视图模型下降的事件。它的更简单的方法之一,用wpf来实现拖放功能。只是用于wpf拖放的google表达式交互功能。希望这有助于:) – TMan 2012-07-30 03:35:56

+0

是的,我有同样的问题。我已经有了一个基于Wpf中的AttachedEvents的完整体系结构,我需要为我的HwndHost派生类重用相同的体系结构。我已经实现了所有OLE拖放类(在C++/cli中)与Windows拖放基础结构进行交互,但是由于内部的DragEventArgs构造函数,我无法将事件引发到WPF。 – nemenos 2012-07-30 09:38:51

+1

嗯,我发现了一个超级哈克解决方法。如果您将HwndHost添加到DockPanel,并在DockPanel上设置AllowDrop,则可以响应那里的事件而不是HwndHost。尽管DockPanel必须有一个背景。我用其他框架/控件尝试过,只有DockPanel似乎可以工作。 – Trevor 2012-07-31 16:28:36

回答

0

只有在调试器下运行时才会出现这种行为?

您是否以管理员身份运行Visual Studio?

如果是这样,我最近遇到了这个问题。尝试一下,不用调试,如果有效,你需要运行应用程序,然后附加到它来调试拖放代码。

这是Windows中的一个安全功能:/