Back to Devexpress

DiagramControl.ItemCreating Event

wpf-devexpress-dot-xpf-dot-diagram-dot-diagramcontrol-e8b5acaf.md

latest5.3 KB
Original Source

DiagramControl.ItemCreating Event

Occurs before a diagram item is added to the canvas.

Namespace : DevExpress.Xpf.Diagram

Assembly : DevExpress.Xpf.Diagram.v25.2.dll

NuGet Package : DevExpress.Wpf.Diagram

Declaration

csharp
public event EventHandler<DiagramItemCreatingEventArgs> ItemCreating
vb
Public Event ItemCreating As EventHandler(Of DiagramItemCreatingEventArgs)

Event Data

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

PropertyDescription
HandledGets 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.
ItemGets or sets the item that is about to be created.
ItemTypeGets the type of the item that is about to be created.
ItemUsageIndicates whether the item is a part of the diagram or toolbox preview.
OriginalSourceGets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
RoutedEventGets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
SourceGets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

MethodDescription
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

The following code snippet illustrates how to use the event to substitute regular shapes with custom DiagramShapeEx shapes.

csharp
private void DiagramControl1_ItemCreating(object sender, DiagramItemCreatingEventArgs e) {
    if (e.ItemType == typeof(DiagramShape)) {
        e.Item = new DiagramShapeEx();
    }
}
vb
Private Sub DiagramControl1_ItemCreating(ByVal sender As Object, ByVal e As DiagramItemCreatingEventArgs)
    If e.ItemType Is GetType(DiagramShape) Then
        e.Item = New DiagramShapeEx()
    End If
End Sub

Register custom item types at the application start using the DevExpress.Diagram.Core.DiagramItemTypeRegistrator.Register method to enable their deserialization.

csharp
DiagramControl.ItemTypeRegistrator.Register(typeof(DiagramShapeEx));
vb
DiagramControl.ItemTypeRegistrator.Register(GetType(DiagramShapeEx))

See Also

DiagramControl Class

DiagramControl Members

DevExpress.Xpf.Diagram Namespace