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
NuGet Packages: DevExpress.WindowsDesktop.Wpf.Core, DevExpress.Wpf.Core
Declaration
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:
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.