2012-07-30 67 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中的一個安全功能:/