我有两个小应用程序:图像文件浏览器和图像查看器。
资源管理器使用标准树视图来显示文件系统中的内容 查看器支持拖放以加载文件。
我想将文件条目从浏览器拖到我的查看器中并让它加载图像。 如果我需要访问特定信息,资源管理器中的每个节点都会在其标记中保存一个FileInfo对象。
这可能吗?
注意:我可以直接将浏览器构建到资源管理器中,但我想知道是否可以将对象拖入和移出应用程序。
答案 0 :(得分:1)
从自定义应用中获取数据的一些基本代码...
DataObject d = new DataObject();
d.SetData(DataFormats.Serializable, myObject);
myForm.DoDragDrop(d, DragDropEffects.Copy);
通常首先确定拖动源,UIElement或ContentElement,然后为MouseMove事件创建处理程序。这就是上面的代码应该去的地方。
在放置目标上,您还可以标识元素,将AllowDrop设置为true,并实现Drop事件处理程序。看看Drag and Drop Overview应该非常有帮助。