也许我的问题很吵,但我找不到答案......
我在wpf中有一个拖放应用程序... 我有内置的界面,我想添加功能......
我需要做的是,当我在设计师区域放置一件物品时, 获取被删除对象的类型并将其添加到特定的结构/列表或其他...
我该怎么做? 谢谢! 克。
答案 0 :(得分:7)
假设您控制了拖动的开始(您没有从另一个应用程序拖动),那么取决于您的类型。只需使源代码和目标代码匹配即可。在拖动中(通常是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;
您也可以使用String而不是Type。
答案 1 :(得分:1)
只需将控件的AllowDrop属性设置为true即可。并在其上实现Drop事件;您可以在事件参数中访问删除信息。
对于GetData部分,您可以使用它来获取特定的数据类型。这是文件删除,例如:
string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, true);
谢谢,