[英]Drag an image from a treeview and drop on canvas example in WPF
是的,我已经反复搜索过该主题,并阅读了许多篇幅太广或太精确的文章。 是的,我知道这是Stackoverflow,所以我已经准备好提出过时的评论,不满意和普遍滥用。 而且,是的,我实际上在2011年写了一些与我需要的东西非常相似的东西,但是从那以后我经历了一年的化学治疗,而我的记忆已不再是以前。
我所拥有的是一个称为OOB的树视图和一个名为UnitLayerCanvas的画布: 我想单击树视图OOB中的一个节点,使用与该节点关联的图像-我相信它被称为“装饰者”-将其拖到右侧的画布UnitLayerCanvas上并将其拖放。 我需要知道在树形视图OOB中单击了哪个节点,以及该节点在画布UnitLayerCanvas上的放置位置(X,Y)。 而已。
有人可以指导我使用C#的示例来说明此过程吗? 我已经看到了很多涉及树视图到树视图拖放的示例,而这不是我所需要的。
更新
我的旧代码工作到可以识别被单击的Treeview中的节点的程度。 我现在正在与装饰代码搏斗。
另一个更新
得到装饰工作。 现在只是下降。 但是,严重的是,这比需要的难度大20倍。
使用CNuts注释,我会给您一个想法
您必须有一个包含该项目本身及其位置x和y的对象。然后在地图上,您应该具有这些项目的集合,然后:
public class MapItem
{
public object Item {get;set;}
public int X {get;set;}
public int Y {get;set;}
}
List<MapItem> MapItems {get;set;}
因此,现在您必须使用MouseButtonEventArgs e
(鼠标事件)来获取鼠标位置
例:
Point _startPoint = e.GetPosition((StackPanel)sender);
然后
MapItem mapitem = new MapItem { X = _startPoint.X, Y = _startPoint.Y, Item = YourItem }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.