private void ExecuteDrop(object parameter) { DropParameters dropParameters = (DropParameters)parameter; TreeViewExItem tvei = dropParameters.DropToItem; IDataObject dataObject = dropParameters.DropData as IDataObject; int index = dropParameters.Index; Node node = (tvei == null)?null:tvei.DataContext as Node; foreach (string f in dataObject.GetFormats()) { object obj = dataObject.GetData(f); DragContent content = obj as DragContent; if (content != null) { foreach (var item in content.Items.Reverse()) { Node oldNode = (Node)item; Node newNode = new Node(); newNode.Name = string.Format("Copy of {0}", oldNode.Name.Replace(" (Drag Allowed)", string.Empty)); AddNode(node, index, newNode); } } else { AddNode(node, index, new Node() { Name = "New node" }); } } return; }
public void OnDrop(object obj) { DragContent content = obj as DragContent; if (content != null) { foreach (var item in content.Items.Reverse()) { ProjectItem oldNode = (ProjectItem)item; ProjectItem newNode = new ProjectItem() { AllowDrag = oldNode.AllowDrag, AllowDrop = oldNode.AllowDrop, AllowInsert = oldNode.AllowInsert, ItemType = oldNode.ItemType }; newNode.Name = string.Format("Copy of {0}", oldNode.Name.Replace(" (Drag Allowed)", string.Empty)); Children.Add(newNode); } } else { Children.Add(new ProjectItem() { Name = "New node" }); } }
public void OnDrop(object obj) { DragContent content = obj as DragContent; if (content != null) { foreach (var item in content.Items.Reverse()) { Node oldNode = (Node)item; Node newNode = new Node(); newNode.Name = string.Format("Copy of {0}", oldNode.Name.Replace(" (Drag Allowed)", string.Empty)); Children.Add(newNode); } } else { Children.Add(new Node() { Name = "New node" }); } }
public void OnInsert(int index, object obj) { DragContent content = obj as DragContent; if (content != null) { foreach (var item in content.Items.Reverse()) { ProjectItem oldNode = (ProjectItem)item; ProjectItem newNode = new ProjectItem(); newNode.Name = string.Format("Copy of {0}", oldNode.Name.Replace(" (Drag Allowed)", string.Empty)); //Children.Remove(oldNode); Children.Insert(index, newNode); } } else { Children.Insert(index, new ProjectItem() { Name = "New node" }); } }