TreeViewControl.GiveRecordDragFeedback Event
Occurs continuously while a drag-and-drop operation is in progress, and allows you to give feedback to the user.
Namespace: DevExpress.Xpf.Grid
Assembly: DevExpress.Xpf.Grid.v24.1.dll
NuGet Package: DevExpress.Wpf.Grid.Core
Declaration
Event Data
The GiveRecordDragFeedback event's data class is GiveRecordDragFeedbackEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Data | Gets or sets a data object that contains the data associated with the DataViewBase.GiveRecordDragFeedback event. |
Effects | Gets or sets the target drag-and-drop operation. |
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. |
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. |
UseDefaultCursors | Gets or sets whether a drag operation should use the default cursors that are associated with drag-drop effects. |
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 GiveRecordDragFeedback event to change the mouse pointer appearance to indicate the effects allowed by the drop target.
In the DragRecordOver event handler, you can specify the DragEventArgsBase.Effects property to set an effect for drag-and-drop operations. In the GiveRecordDragFeedback event handler, you can obtain this effect in the GiveRecordDragFeedbackEventArgs.Effects property and change the mouse pointer appearance according to this drag-and-drop effect.
The code sample below displays an arrow symbol when a user moves nodes to another node’s child collection:
<dxg:TreeViewControl x:Name="treeview"
AllowDragDrop="True"
DragRecordOver="treeview_DragRecordOver"
GiveRecordDragFeedback="treeview_GiveRecordDragFeedback"/>
void OnDragRecordOver(object sender, DragRecordOverEventArgs e) {
if (e.DropPosition == DropPosition.Inside) {
e.Effects = DragDropEffects.Link;
e.Handled = true;
}
}
void OnGiveRecordDragFeedback(object sender, GiveRecordDragFeedbackEventArgs e) {
if (e.Effects == DragDropEffects.Link) {
Mouse.SetCursor(Cursors.UpArrow);
} else {
e.UseDefaultCursors = true;
}
e.Handled = true;
}
For information about drag-and-drop operations, refer to the following DevExpress WPF Grid help topic: Drag-and-Drop.