All docs
V20.2
20.2
20.1
The page you are viewing does not exist in version 20.1. This link will take you to the root page.
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.

TreeViewControl.StartRecordDrag Event

Occurs when a drag-and-drop operation is started.

Namespace: DevExpress.Xpf.Grid

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

Declaration

public event EventHandler<StartRecordDragEventArgs> StartRecordDrag
Public Event StartRecordDrag As EventHandler(Of StartRecordDragEventArgs)

Event Data

The StartRecordDrag event's data class is StartRecordDragEventArgs. The following properties provide information specific to this event:

Property Description
AllowDrag Gets or sets whether an end-user can drag records.
AllowedEffects Gets a member of the DragDropEffects enumeration that specifies which operations are allowed by the originator of the drag event.
Data Gets or sets a data object that contains the data associated with the DataViewBase.StartRecordDrag event.
DragElement Gets a drag element that is a control on which the drag-and-drop operation has been initiated.
Handled Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
Records Gets dragged records.
RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

Method Description
InvokeEventHandler(Delegate, Object) When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
OnSetSource(Object) When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

You can use the StartRecordDrag event to cancel a drag operation.

The following code sample allows users to drag only records that do not have children:

<dxg:TreeViewControl x:Name="treeview"
                     AllowDragDrop="True"
                     StartRecordDrag="treeview_StartRecordDrag"/>
void treeview_StartRecordDrag(object sender, DevExpress.Xpf.Core.StartRecordDragEventArgs e) {
    foreach (Employee employee in e.Records)
        e.AllowDrag = !treeview.GetNodeByValue(employee.Name).HasChildren;
    e.Handled = true;
}

For information about drag-and-drop operations, refer to the following DevExpress WPF Grid help topic: Drag-and-Drop.

See Also