WPF拖放和数据类型

geo*_*geo 3 wpf drag-and-drop

也许我的问题很不错,但我找不到答案......

我在wpf中有一个拖放应用程序...我有内置界面,我想添加功能...

我需要做的是,当我在设计器区域中放置一个项目,获取被删除对象的类型并将其添加到特定的结构/列表或其他任何...

我怎样才能做到这一点?谢谢!G.

def*_*mer 7

假设你控制了拖动的开始(你没有从另一个应用程序中拖动),那取决于你的类型.只需使源代码和目标代码匹配即可.在拖动中(通常是MouseMove或MouseDown处理程序):

        var dragData = new DataObject(typeof(JobViewModel), job);
        DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move);
Run Code Online (Sandbox Code Playgroud)

开始拖累.然后在下降(听起来你已经到了这么远):

        var dataObj = e.Data as DataObject;
        var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel;
Run Code Online (Sandbox Code Playgroud)

您也可以使用String而不是Type.