DiagramControl.QueryConnectionPoints Event

Fires each time the end-user moves the cursor with the active Connector Tool near shapes or their connection points.

Namespace: DevExpress.Xpf.Diagram

Assembly: DevExpress.Xpf.Diagram.v20.1.dll

Declaration

public event EventHandler<DiagramQueryConnectionPointsEventArgs> QueryConnectionPoints
Public Event QueryConnectionPoints As EventHandler(Of DiagramQueryConnectionPointsEventArgs)

Event Data

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

Property Description
Connector Returns the connector whose point is being moved by the end-user.
ConnectorPointType Returns the type of the connection point that is being moved by the end-user.
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.
HoveredItem Returns the item hovered with the connection point that is being moved by the end-user.
ItemConnectionBorderState Specifies whether to enable connection to an item and show a visual indication.
ItemConnectionPointStates Provides access to the collection of objects that represent connection points of a diagram item.
OppositeItem Returns the diagram item to which the opposite connection point is glued.
OppositeItemPointIndex Returns the index of the opposite connection point.
OppositePoint Returns the coordinates of the opposite connection point.
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.

Remarks

The example below illustrates how to prevent the end-user from attaching connectors to a shape.

void diagram_QueryConnectionPoints(object sender, DiagramQueryConnectionPointsEventArgs e) {
    if ((e.HoveredItem as DiagramShape).Content == "Connection is not allowed") {
        e.ItemConnectionBorderState = ConnectionElementState.Hidden;
        foreach (var p in e.ItemConnectionPointStates)
            p.State = ConnectionElementState.Hidden;
    }
}
See Also