Skip to main content
All docs
V25.1
  • TreeViewControl.StartRecordDrag Event

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

    Namespace: DevExpress.Xpf.Grid

    Assembly: DevExpress.Xpf.Grid.v25.1.dll

    NuGet Package: DevExpress.Wpf.Grid.Core

    Declaration

    public event EventHandler<StartRecordDragEventArgs> StartRecordDrag

    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