也許我的問題是nooby,但我無法找到答案...WPF拖放和數據類型
我在WPF的拖累&下降應用... 我已經內置接口我想添加功能...
我需要做的是,當我在我的設計器區域中刪除一個項目, 獲取被刪除對象的類型並將其添加到特定的結構/列表或任何其他...
我該怎麼做? 謝謝! g。
也許我的問題是nooby,但我無法找到答案...WPF拖放和數據類型
我在WPF的拖累&下降應用... 我已經內置接口我想添加功能...
我需要做的是,當我在我的設計器區域中刪除一個項目, 獲取被刪除對象的類型並將其添加到特定的結構/列表或任何其他...
我該怎麼做? 謝謝! g。
假設你控制拖(你是不是從另一個應用程序拖動),這取決於你是什麼類型的開始。只需使源代碼和目標代碼匹配即可。在拖動中(通常是MouseMove或MouseDown處理程序):
var dragData = new DataObject(typeof(JobViewModel), job);
DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move);
開始拖動。然後在下拉菜單中(這聽起來像你已經遠遠得到此):
var dataObj = e.Data as DataObject;
var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel;
你也可以使用一個字符串,而不是一個類型的。
只需將控件的AllowDrop屬性設置爲true即可。並在其上實施Drop事件;您可以訪問事件參數中的放置信息。
對於GetData部分,您可以使用它來獲取特定的數據類型。下面是示例的文件下降:
string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, true);
感謝,
我已經走遠了! :) 我的問題是如何獲得'OnDrop(DragEventArgs e)'... 使用getData的數據類型?什麼類型? 如果我使用我的對象類型,我得到空... 感謝您的幫助! – geo 2011-04-20 08:30:46
我已經更新了我的答案,希望它有幫助。 – Howard 2011-04-20 08:43:48