private void dragDropManager_Drop(object sender, TreeListDropEventArgs e) { if (e.DraggedRows.Count != 1) throw new Exception("Multi row mode enabled. Turn it off"); var row = e.DraggedRows[0] as TreeListNode; if (row == null) throw new Exception("Unexpected error"); var model = DataContext as SourcesManagerMainViewModel; if (model == null) throw new Exception("Data context is null"); var result = model.MoveNote(row.Content as MaterialDto, e.TargetNode != null ? e.TargetNode.Content as MaterialDto : null); if (!result) { e.Manager.AllowDrop = false; e.DelayedExecute(() => e.Manager.AllowDrop = true); e.Handled = true; } }
void RaiseDroppedEvent(DragDropManagerBase sourceManager, TreeListDropEventArgs dropEventArgs) { if(DroppedEventHandler != null) { TreeListDroppedEventArgs e = new TreeListDroppedEventArgs() { DataControl = DataControl as GridDataControlBase, TargetNode = dropEventArgs.TargetNode, HitInfo = dropEventArgs.HitInfo, Manager = this, DraggedRows = dropEventArgs.DraggedRows, SourceManager = sourceManager, DropTargetType = dropEventArgs.DropTargetType, }; DroppedEventHandler(this, e); } }
TreeListDropEventArgs RaiseDropEvent(DragDropManagerBase sourceManager, TreeListViewHitInfo hitInfo, TreeListNode insertNode, IList rows, DropTargetType dropTargetType) { TreeListDropEventArgs e = new TreeListDropEventArgs() { HitInfo = hitInfo, TargetNode = insertNode, DraggedRows = rows, DropTargetType = dropTargetType, Handled = false, Manager = this, SourceManager = sourceManager, DataControl = DataControl as GridDataControlBase, }; if(DropEventHandler != null) DropEventHandler(this, e); return e; }