//initiate the move of selected row private void svc_PreviewDragDrop(object sender, RadDropEventArgs e) { GridDataRowElement rowElement = e.DragInstance as GridDataRowElement; if (rowElement == null) { return; } e.Handled = true; RadItem dropTarget = e.HitTarget as RadItem; RadGridView targetGrid = dropTarget.ElementTree.Control as RadGridView; if (targetGrid == null) { return; } var dragGrid = rowElement.ElementTree.Control as RadGridView; if (targetGrid == dragGrid) { e.Handled = true; GridDataRowElement dropTargetRow = dropTarget as GridDataRowElement; int index = dropTargetRow != null?this.GetTargetRowIndex(dropTargetRow, e.DropLocation) : targetGrid.RowCount; GridViewRowInfo rowToDrag = dragGrid.SelectedRows[0]; this.MoveRows(dragGrid, rowToDrag, index); } }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { base.OnPreviewDragDrop(e); if (e.Handled || !(e.DragInstance is GanttGraphicalViewBaseTaskElement)) { return; } GanttGraphicalViewBaseItemElement hitTarget = e.HitTarget as GanttGraphicalViewBaseItemElement; if (hitTarget == null) { return; } DateTime dateTime = this.Owner.GraphicalViewElement.TimelineBehavior.AdjustedTimelineStart.AddSeconds((double)(this.Owner.GraphicalViewElement.HorizontalScrollBarElement.Value + e.DropLocation.X - this.xOutlineFormOffset) * this.Owner.GraphicalViewElement.OnePixelTime.TotalSeconds); if (dateTime == hitTarget.Data.Start) { return; } TimeSpan timeSpan = hitTarget.Data.End - hitTarget.Data.Start; hitTarget.Data.Start = dateTime; hitTarget.Data.End = dateTime + timeSpan; hitTarget.GraphicalViewElement.CalculateLinkLines(hitTarget.Data); }
/// <summary> /// The drag drop service_ preview drag drop. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="e"> /// The e. /// </param> private void dragDropService_PreviewDragDrop(object sender, RadDropEventArgs e) { e.Handled = true; var rowElement = e.DragInstance as GridDataRowElement; if (rowElement == null) { return; } var dropTarget = e.HitTarget as RadItem; var targetGrid = dropTarget.ElementTree.Control as RadGridView; if (targetGrid == null) { return; } var dragGrid = rowElement.ElementTree.Control as RadGridView; if (targetGrid != dragGrid) { e.Handled = true; var dropTargetCell = dropTarget as GridDataCellElement; int index = this.GetTargetCellIndex(dropTargetCell, e.DropLocation); this.MoveRows(targetGrid, dragGrid, dropTargetCell); } }
private void DragDropService_PreviewDragDrop(object sender, RadDropEventArgs e) { DiagramListViewVisualItem dragItem = e.DragInstance as DiagramListViewVisualItem; RadDiagramElement dropTarget = e.HitTarget as RadDiagramElement; if (dragItem != null && dropTarget != null && dragItem.Data.Key == "Image") { e.Handled = true; RadDiagramShape shape = dropTarget.Shapes.Last() as RadDiagramShape; shape.DiagramShapeElement.Shape = null; shape.BackColor = Color.Transparent; try { OpenFileDialog open = new OpenFileDialog(); open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp"; if (open.ShowDialog() == DialogResult.OK) { Bitmap bit = new Bitmap(open.FileName); shape.DiagramShapeElement.Image = bit; } } catch (Exception) { throw new ApplicationException("Failed loading image"); } shape.DiagramShapeElement.ImageLayout = dragItem.ImageLayout; } ; }
private void dragDropService_PreviewDragDrop(object sender, RadDropEventArgs e) { SnapshotDragItem dragInstance = e.DragInstance as SnapshotDragItem; if (dragInstance == null) { return; } RadItem dropTarget = e.HitTarget as RadItem; RadGridView targetGrid = dropTarget.ElementTree.Control as RadGridView; if (targetGrid == null) { return; } RadGridView dragGrid = dragInstance.Item.ElementTree.Control as RadGridView; if (targetGrid != dragGrid) { e.Handled = true; CustomGridBehavior behavior = (CustomGridBehavior)dragGrid.GridBehavior; GridDataRowElement dropTargetRow = dropTarget as GridDataRowElement; int index = dropTargetRow != null?this.GetTargetRowIndex(dropTargetRow, e.DropLocation) : targetGrid.RowCount; this.MoveRows(targetGrid, dragGrid, behavior.SelectedRows, index); } }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { base.OnPreviewDragDrop(e); this.scrollTimer.Stop(); if (!this.owner.ShowGroups) { this.HandleUngroupedDragDrop(e); } else { this.HandleGroupedDragDrop(e); } RadTileElement context = this.Context as RadTileElement; RadElement hitTarget = e.HitTarget as RadElement; Point point = e.DropLocation; if (context == null) { return; } if (hitTarget != null) { point = hitTarget.PointToControl(point); } Point location = context.ControlBoundingRectangle.Location; SizeF sizeF = new SizeF((float)(point.X - location.X), (float)(point.Y - location.Y)); context.Visibility = ElementVisibility.Visible; new AnimatedPropertySetting(RadElement.PositionOffsetProperty, (object)sizeF, (object)SizeF.Empty, 5, 10) { RemoveAfterApply = true }.ApplyValue((RadObject)context); ControlTraceMonitor.TrackAtomicFeature(hitTarget, "Reordering"); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { base.OnPreviewDragDrop(e); if (e.Handled || this.owner.ListSource.IsDataBound) { return; } if ((this.owner.EnableGrouping || this.owner.EnableCustomGrouping) && this.owner.ShowGroups || (this.owner.EnableSorting || this.owner.ListSource.IsDataBound)) { int num = (int)RadMessageBox.Show("DragDrop is not supported in grouped, sorted or data-bound mode. \nPlease handle the ListViewElement.DragDropService.PreviewDragDrop event manually \nand set e.Handled = true or just set the AllowDragDrop property to false to disable this message.", "Error", MessageBoxButtons.OK, RadMessageIcon.Error); } else { RadElement hitTarget1 = e.HitTarget as RadElement; BaseListViewVisualItem listViewVisualItem = e.HitTarget as BaseListViewVisualItem; BaseListViewElement hitTarget2 = e.HitTarget as BaseListViewElement; if (hitTarget1 != null) { Point control = hitTarget1.PointToControl(e.DropLocation); if (listViewVisualItem == null) { listViewVisualItem = this.owner.ViewElement.GetVisualItemAt(control); } } if (listViewVisualItem != null && listViewVisualItem.Data.Owner != this.owner || hitTarget2 != null && hitTarget2.Owner != this.owner) { this.HandleDropBetweenListViews(e); } else { this.HandleDragDrop(e); } this.owner.InvalidateMeasure(true); } }
protected virtual void HandleUngroupedDragDrop(RadDropEventArgs e) { RadElement hitTarget = e.HitTarget as RadElement; RadTileElement context = this.Context as RadTileElement; Point point = e.DropLocation; point.Offset(-(int)this.owner.TileLayout.PositionOffset.Width, -(int)this.owner.TileLayout.PositionOffset.Height); if (hitTarget != null) { point = hitTarget.PointToControl(point); } if (context == null || hitTarget == null) { return; } Point targetCell = this.GetTargetCell(context, point); if (targetCell.X == -1) { return; } targetCell.X = Math.Min(targetCell.X, this.owner.RowsCount - context.RowSpan); context.Row = targetCell.X; context.Column = targetCell.Y; int colSpan = context.ColSpan; context.ColSpan = 0; this.OffsetTiles(context, colSpan); context.ColSpan = colSpan; context.Column -= colSpan; this.owner.InvalidateMeasure(true); this.owner.UpdateLayout(); }
private void dragDropService_PreviewDragDrop(object sender, RadDropEventArgs e) { GridDataRowElement rowElement = e.DragInstance as GridDataRowElement; if (rowElement == null) { return; } string sourceText = rowElement.RowInfo.Cells[0].Value.ToString(); TreeNodeElement targetNodeElement = e.HitTarget as TreeNodeElement; if (targetNodeElement != null) { RadTreeViewElement treeViewElement = targetNodeElement.TreeViewElement; RadTreeNode targetNode = targetNodeElement.Data; DropPosition dropPosition = this.GetDropPosition(e.DropLocation, targetNodeElement); switch (dropPosition) { case DropPosition.None: break; case DropPosition.BeforeNode: radGridView1.Rows.Remove(rowElement.RowInfo); RadTreeNodeCollection nodes = targetNode.Parent == null ? treeViewElement.Nodes : targetNode.Parent.Nodes; nodes.Insert(targetNode.Index, new RadTreeNode(sourceText)); break; case DropPosition.AfterNode: radGridView1.Rows.Remove(rowElement.RowInfo); RadTreeNodeCollection nodes1 = targetNode.Parent == null ? treeViewElement.Nodes : targetNode.Parent.Nodes; int targetIndex = targetNodeElement.Data.Index <= treeViewElement.Nodes.Count - 1 ? (targetNodeElement.Data.Index + 1) : treeViewElement.Nodes.Count - 1; nodes1.Insert(targetIndex, new RadTreeNode(sourceText)); break; case DropPosition.AsChildNode: radGridView1.Rows.Remove(rowElement.RowInfo); targetNode.Nodes.Add(new RadTreeNode(sourceText)); break; } } RadTreeViewElement treeElement = e.HitTarget as RadTreeViewElement; if (treeElement != null) { radGridView1.Rows.Remove(rowElement.RowInfo); radTreeView1.Nodes.Add(new RadTreeNode(sourceText)); } }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { RadListVisualItem dragedItem = e.DragInstance as RadListVisualItem; RadListElement targetList = e.HitTarget as RadListElement; RadListVisualItem targetElement = targetList.ElementTree.GetElementAtPoint(e.DropLocation) as RadListVisualItem; this.OnPreviewDragDropCore(dragedItem, targetList, targetElement); base.OnPreviewDragDrop(e); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { StackLayoutElement dropTarget = e.HitTarget as StackLayoutElement; TaskElement draggedObject = e.DragInstance as TaskElement; if (draggedObject != null && dropTarget != null) { draggedObject.Parent.Children.Remove(draggedObject); dropTarget.Children.Add(draggedObject); } base.OnPreviewDragDrop(e); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { base.OnPreviewDragDrop(e); if (e.Handled || this.owner.DataSource != null) return; RadListVisualItem targetElement = e.HitTarget as RadListVisualItem; RadListElement targetList = e.HitTarget as RadListElement; if (targetElement != null) targetList = targetElement.Data.Owner; else targetElement = targetList.ElementTree.GetElementAtPoint(e.DropLocation) as RadListVisualItem; if (this.draggedItem == null || this.draggedItem.DataBoundItem != null || targetList.DataSource != null) return; this.OnPreviewDragDropCore(targetList, targetElement); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { DraggableLayoutControlItem hitTarget = e.HitTarget as DraggableLayoutControlItem; base.OnPreviewDragDrop(e); if (e.Handled) { return; } hitTarget?.AssociatedItem.FindAncestor <LayoutControlContainerElement>().LayoutTree.HandleDrop(hitTarget, (LayoutControlItemBase)this.draggedItem, hitTarget.PointToControl(e.DropLocation)); if ((this.DropTarget is BaseListViewElement || this.DropTarget is BaseListViewVisualItem) && this.CanDropOnListView(this.DropTarget as RadElement)) { this.owner.HideItem(this.draggedItem.AssociatedItem); } ControlTraceMonitor.TrackAtomicFeature(this.owner.Parent is RadDataLayout ? (RadControl)this.owner.Parent : (RadControl)this.owner, "LayoutModified", (object)"DragDrop"); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { GanttViewTaskElement taskElement = e.DragInstance as GanttViewTaskElement; if (taskElement != null) { GanttViewTaskItemElement taskItemElement = taskElement.Parent as GanttViewTaskItemElement; if (taskItemElement.Data.Start == this.snappedDate) { return; } TimeSpan duration = taskItemElement.Data.End - taskItemElement.Data.Start; taskItemElement.Data.Start = snappedDate; taskItemElement.Data.End = snappedDate + duration; this.CalculateLinkLines(taskItemElement.GraphicalViewElement, taskItemElement.Data); e.Handled = true; } base.OnPreviewDragDrop(e); }
protected virtual void OnDragServiceDragDrop(object sender, RadDropEventArgs e) { e.Handled = true; this.layoutControl.DragOverlay.SetPreviewRectangle(Rectangle.Empty); DraggableLayoutControlItem hitTarget1 = e.HitTarget as DraggableLayoutControlItem; DraggableLayoutControlOverlayElement hitTarget2 = e.HitTarget as DraggableLayoutControlOverlayElement; BaseListViewVisualItem dragInstance = e.DragInstance as BaseListViewVisualItem; if (hitTarget2 != null) { this.HandleDropOnEmptyContainer(hitTarget2, dragInstance); } else { if (hitTarget1 == null) { return; } this.HandleItemDrop(dragInstance, hitTarget1); } }
private void svc_PreviewDragDrop(object sender, RadDropEventArgs e) { var rowElement = e.DragInstance as GridDataRowElement; if (rowElement == null) { return; } e.Handled = true; var dropTarget = e.HitTarget as RadItem; var targetGrid = dropTarget.ElementTree.Control as RadGridView; if (targetGrid == null) { return; } var dragGrid = rowElement.ElementTree.Control as RadGridView; if (targetGrid != dragGrid) { e.Handled = true; //append dragged rows to the end of the target grid int index = targetGrid.RowCount; //Grab every selected row from the source grid, including the current row List <GridViewRowInfo> rows = dragGrid.SelectedRows.ToList <GridViewRowInfo>(); if (dragGrid.CurrentRow != null) { GridViewRowInfo row = dragGrid.CurrentRow; if (!rows.Contains(row)) { rows.Add(row); } } this.MoveRows(targetGrid, dragGrid, rows, index); } }
protected virtual void HandleGroupedDragDrop(RadDropEventArgs e) { RadTileElement hitTarget = e.HitTarget as RadTileElement; RadTileElement context = this.Context as RadTileElement; Point point = e.DropLocation; if (hitTarget != null) { point = hitTarget.PointToControl(point); } TileGroupElement targetGroup = this.GetTargetGroup(new RectangleF((PointF)point, (SizeF)context.Size)); if (context == null || targetGroup == null) { return; } Point targetCell = this.GetTargetCell(targetGroup, point); if (targetCell.X == -1) { return; } targetCell.X = Math.Max(0, Math.Min(targetCell.X, targetGroup.RowsCount - context.RowSpan)); context.Row = targetCell.X; context.Column = targetCell.Y; if (!targetGroup.Items.Contains((RadItem)context)) { (context.Parent.Parent as TileGroupElement).Items.Remove((RadItem)context); targetGroup.Items.Add((RadItem)context); } int colSpan = context.ColSpan; context.ColSpan = 0; this.OffsetTiles(targetGroup, context, colSpan); context.ColSpan = colSpan; context.Column -= colSpan; this.owner.InvalidateMeasure(true); this.owner.UpdateLayout(); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { DetailListViewCellElement hitTarget = e.HitTarget as DetailListViewCellElement; if (hitTarget == null) { base.OnPreviewDragDrop(e); } else { ListViewDetailColumn data = hitTarget.Data; int num = this.owner.Owner.Columns.IndexOf(this.draggedColumn); int index = e.DropLocation.X <= hitTarget.Size.Width / 2 ^ this.owner.RightToLeft ? this.owner.Owner.Columns.IndexOf(data) : this.owner.Owner.Columns.IndexOf(data) + 1; this.owner.Owner.Columns.Remove(this.draggedColumn); if (num < index) { --index; } this.owner.Owner.Columns.Insert(index, this.draggedColumn); this.owner.InvalidateMeasure(true); base.OnPreviewDragDrop(e); } }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { DetailListViewCellElement targetElement = e.HitTarget as DetailListViewCellElement; ListViewDetailColumn targetColumn = targetElement.Data; int draggedIndex = owner.Owner.Columns.IndexOf(draggedColumn); int targetIndex = e.DropLocation.X <= targetElement.Size.Width / 2 ? owner.Owner.Columns.IndexOf(targetColumn): owner.Owner.Columns.IndexOf(targetColumn) + 1; owner.Owner.Columns.Remove(draggedColumn); if (draggedIndex < targetIndex) { targetIndex--; } owner.Owner.Columns.Insert(targetIndex, draggedColumn); owner.InvalidateMeasure(true); base.OnPreviewDragDrop(e); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { bool isScrollerNode = this.owner.Scroller.Traverser.Current == draggedNode; RadTreeNode newScrollerNode = null; if (isScrollerNode) { newScrollerNode = draggedNode.NextNode; if (newScrollerNode == null) { newScrollerNode = draggedNode.PrevNode; } } TreeNodeElement targetNodeElement = e.HitTarget as TreeNodeElement; RadTreeViewElement targetTreeView = targetNodeElement == null ? e.HitTarget as RadTreeViewElement : targetNodeElement.TreeViewElement; List <RadTreeNode> draggedNodes = this.GetDraggedNodes(draggedNode); bool dragDropBetweenTrees = targetTreeView != this.owner; targetTreeView.BeginUpdate(); if (dragDropBetweenTrees) { this.owner.BeginUpdate(); } if (targetNodeElement != null) { this.PerformDragDrop(e.DropLocation, targetNodeElement, draggedNodes); } else { foreach (RadTreeNode node in draggedNodes) { if (!this.OnDragEnding(DropPosition.AsChildNode, node, null)) { continue; } node.Remove(); targetTreeView.Nodes.Add(node); this.owner.OnDragEnded(new RadTreeViewDragEventArgs(node, null)); } } if (dragDropBetweenTrees) { this.owner.EndUpdate(); } if (isScrollerNode) { this.owner.Scroller.ScrollToItem(newScrollerNode); } targetTreeView.EndUpdate(); targetTreeView.SelectedNode = draggedNode; base.OnPreviewDragDrop(e); }
protected override void OnPreviewDragDrop(RadDropEventArgs e) { base.OnPreviewDragDrop(e); if (this.CancelPreviewDragDrop(e)) { return; } bool flag1 = this.owner.Scroller.Traverser.Current == this.draggedNode; RadTreeNode radTreeNode1 = (RadTreeNode)null; if (flag1) { radTreeNode1 = this.draggedNode.NextNode ?? this.draggedNode.PrevNode; } TreeNodeElement hitTarget = e.HitTarget as TreeNodeElement; RadTreeViewElement radTreeViewElement = hitTarget == null ? e.HitTarget as RadTreeViewElement : hitTarget.TreeViewElement; List <RadTreeNode> selectedNodes = this.GetSelectedNodes(this.draggedNode); List <RadTreeNode> draggedNodes = this.GetDraggedNodes(this.draggedNode); bool flag2 = radTreeViewElement != null && radTreeViewElement != this.owner; radTreeViewElement?.BeginUpdate(); if (flag2) { this.owner.BeginUpdate(); } if (hitTarget != null && hitTarget.Data != null) { this.PerformDragDrop(e.DropLocation, hitTarget, draggedNodes); } else if (radTreeViewElement != null) { bool isCopyingNodes = this.IsCopyingNodes; foreach (RadTreeNode radTreeNode2 in draggedNodes) { RadTreeNode radTreeNode3 = radTreeNode2; if (this.OnDragEnding(DropPosition.AsChildNode, radTreeNode3, (RadTreeNode)null)) { if (isCopyingNodes) { radTreeNode3 = this.CreateTreeNode(radTreeNode3); } else { radTreeNode3.Remove(); } radTreeViewElement.Nodes.Add(radTreeNode3); this.owner.OnDragEnded(new RadTreeViewDragEventArgs(radTreeNode3, (RadTreeNode)null)); } } } else if (draggedNodes.Count > 0) { this.owner.OnDragEnded(new RadTreeViewDragEventArgs(draggedNodes[0], (RadTreeNode)null)); } if (flag2) { this.owner.EndUpdate(); } if (flag1) { this.owner.Scroller.ScrollToItem(radTreeNode1); } if (radTreeViewElement == null) { return; } radTreeViewElement.EndUpdate(); radTreeViewElement.SelectedNode = this.draggedNode; foreach (RadTreeNode radTreeNode2 in draggedNodes) { radTreeNode2.Selected = true; } foreach (RadTreeNode radTreeNode2 in selectedNodes) { radTreeNode2.Selected = true; } }
protected virtual bool CancelPreviewDragDrop(RadDropEventArgs e) { return(e.Handled); }
protected override bool CancelPreviewDragDrop(RadDropEventArgs e) { return(e.Handled); }
protected virtual void HandleDragDrop(RadDropEventArgs e) { RadElement hitTarget1 = e.HitTarget as RadElement; BaseListViewVisualItem targetElement = e.HitTarget as BaseListViewVisualItem; BaseListViewElement hitTarget2 = e.HitTarget as BaseListViewElement; if (hitTarget1 != null) { targetElement = this.owner.ViewElement.GetVisualItemAt(hitTarget1.PointToControl(e.DropLocation)); } ListViewDataItem listViewDataItem = targetElement?.Data; bool flag = false; if (listViewDataItem != null) { listViewDataItem.Owner.ListSource.BeginUpdate(); if (this.owner.ViewElement.ShouldDropAfter(targetElement, e.DropLocation)) { ITraverser <ListViewDataItem> enumerator = this.owner.ViewElement.Scroller.Traverser.GetEnumerator() as ITraverser <ListViewDataItem>; enumerator.Position = (object)listViewDataItem; flag = !enumerator.MoveNext(); listViewDataItem = enumerator.Current; } int newIndex = this.owner.ListSource.IndexOf(listViewDataItem); if (this.draggedItems != null) { foreach (ListViewDataItem draggedItem in this.draggedItems) { int oldIndex = this.owner.ListSource.IndexOf(draggedItem); this.owner.ListSource.Move(oldIndex, newIndex); if (oldIndex > newIndex) { ++newIndex; } } } else if (this.draggedItem != null) { int num1 = this.owner.ListSource.IndexOf(this.draggedItem); if (flag) { int num2 = this.owner.ListSource.Count - 1; } else if (num1 < newIndex) { --newIndex; } this.owner.ListSource.Move(this.owner.ListSource.IndexOf(this.draggedItem), newIndex); } listViewDataItem.Owner.ListSource.EndUpdate(); listViewDataItem.Owner.ViewElement.Scroller.UpdateScrollValue(); } else { if (hitTarget2 == null) { return; } hitTarget2.Owner.ListSource.BeginUpdate(); if (this.draggedItems != null) { foreach (ListViewDataItem draggedItem in this.draggedItems) { hitTarget2.Owner.ListSource.Move(this.owner.ListSource.IndexOf(draggedItem), this.owner.ListSource.Count - 1); } } else if (this.draggedItem != null) { hitTarget2.Owner.ListSource.Move(this.owner.ListSource.IndexOf(this.draggedItem), this.owner.ListSource.Count - 1); } hitTarget2.Owner.ListSource.EndUpdate(); hitTarget2.Owner.ViewElement.Scroller.UpdateScrollValue(); } }
protected virtual void HandleDropBetweenListViews(RadDropEventArgs e) { RadElement hitTarget = e.HitTarget as RadElement; BaseListViewVisualItem listViewVisualItem = e.HitTarget as BaseListViewVisualItem; BaseListViewElement baseListViewElement = e.HitTarget as BaseListViewElement; if (listViewVisualItem != null && baseListViewElement == null) { baseListViewElement = listViewVisualItem.Data.Owner.ViewElement; } ListViewDataItem data; if (hitTarget != null) { Point control = hitTarget.PointToControl(e.DropLocation); if (listViewVisualItem == null) { listViewVisualItem = baseListViewElement.GetVisualItemAt(control); } data = listViewVisualItem?.Data; } else { data = listViewVisualItem?.Data; } if (data != null) { data.Owner.ListSource.BeginUpdate(); int index = data.Owner.ListSource.IndexOf(data); if (e.DropLocation.Y > listViewVisualItem.Size.Height / 2) { ++index; } if (this.draggedItems != null) { foreach (ListViewDataItem draggedItem in this.draggedItems) { this.owner.ListSource.Remove(draggedItem); data.Owner.ListSource.Insert(index, draggedItem); ++index; } } else if (this.draggedItem != null) { this.owner.ListSource.Remove(this.draggedItem); data.Owner.ListSource.Insert(index, this.draggedItem); } data.Owner.ListSource.EndUpdate(); data.Owner.ViewElement.Scroller.UpdateScrollValue(); } else { if (baseListViewElement == null) { return; } baseListViewElement.Owner.ListSource.BeginUpdate(); if (this.draggedItems != null) { foreach (ListViewDataItem draggedItem in this.draggedItems) { this.owner.ListSource.Remove(draggedItem); baseListViewElement.Owner.ListSource.Add(draggedItem); } } else if (this.draggedItem != null) { this.owner.ListSource.Remove(this.draggedItem); baseListViewElement.Owner.ListSource.Add(this.draggedItem); } baseListViewElement.Owner.ListSource.EndUpdate(); baseListViewElement.Owner.ViewElement.Scroller.UpdateScrollValue(); } }