2011-01-28 125 views
0

我有一個帶有自定義視圖的ListView,用於將項目顯示爲圖標。我也有一個普通的OL畫布。我希望能夠從ListView中拖放一個項目並將其放到畫布中。WPF/C#從ListView拖放到畫布上

現在我已經看遍了各地的各種教程如何做拖放。看起來,我發現的一切都根本不起作用,或者超出我的需求。連接Canvas上的Drop事件並在ListView中的PreviewMouseMove事件中調用DoDragDrop似乎不起作用。我開始拖動,我得到了畫布上的DragEnter/DragOver,但是拖放事件永遠不會被觸發(光標保持爲(/))我已經研究了一些其他解決方案,如DragDrop庫或CodeProject上的Drag Drop Smorgasbord。這些似乎旨在從控制中刪除實際項目,並將控件放置在其他位置。這不是我所需要的,我需要的只是從ListView中檢測Canvas上的放置,傳遞一些數據(現在它只是一個字符串)並使用該數據在Canvas中構建一個新的UIElement。

是否有比使用DoDragDrop更簡單的方法?我希望能夠繼續擁有裝飾者等,但是似乎有些解決方案比我應該做的還要多,而且不會完全按我所需要的去做。

回答

0

您是否在畫布上設置了AllowDrop =「True」屬性?!? 你的第一個解決方案看起來很整潔,它應該工作。

0

線程創建者在這裏...提出了一個未註冊的帳戶,但註冊,因爲這個地方很酷!我想出了我的問題。事實證明,我將DragEnter/DragOver中的效果設置爲我不應該擁有的東西。

現在我覺得很傻。

感謝您的回覆!