You are viewing help content for pre-release software. This document and the features it describes are subject to change. Switch to the current version.

DropPosition Enum

Lists values that specify how a record is placed after it has been dropped.

Namespace: DevExpress.Xpf.Core

Assembly: DevExpress.Xpf.Core.v20.2.dll

Declaration

public enum DropPosition
Public Enum DropPosition

Members

Name Description
Append

A record is placed after all records.

Before

A record is placed before the target record.

After

A record is placed after the target record.

Inside

A record is placed inside the target group.

Related API Members

The following properties accept/return DropPosition values:

Remarks

You can set a drop position that specifies:

  • How to place the drop marker concerning a target record.
  • How to place the dragged record after dropping.

The values listed by the DropPosition enumeration are used to set the DragEventArgsBase.DropPosition and DropMarkerData.Position properties.

The image below shows a drag-and-drop operation that does not allow moving a node to another child collection; it means the DropPosition.Inside is not allowed:

DragDropPosition2

Handle the DataViewBase.DragRecordOver event and specify the DragEventArgsBase.DropPosition property to set the required drop position. The following code sample demonstrates how to prohibit end-users from moving nodes to another node's child collection:

<dxg:TreeListView AllowDragDrop="True" DragRecordOver="OnDragRecordOver" />
void OnDragRecordOver(object sender, DragRecordOverEventArgs e) {
   if(e.DropPosition == DropPosition.Inside) {
      e.DropPosition = e.DropPositionRelativeCoefficient > 0.5 ? DropPosition.After : DropPosition.Before;
      e.Handled = true;
   }
}

In the demonstrated code sample, the DragRecordOverEventArgs.DropPositionRelativeCoefficient property is used to determine the exact drop position.

See Also