DiagramControl.ItemCreating Event
Occurs before a diagram item is added to the canvas.
Namespace: DevExpress.Xpf.Diagram
Assembly: DevExpress.Xpf.Diagram.v24.2.dll
NuGet Package: DevExpress.Wpf.Diagram
Declaration
Event Data
The ItemCreating event's data class is DiagramItemCreatingEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
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. |
Item | Gets or sets the item that is about to be created. |
ItemType | Gets the type of the item that is about to be created. |
ItemUsage | Indicates whether the item is a part of the diagram or toolbox preview. |
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. |
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
The following code snippet illustrates how to use the event to substitute regular shapes with custom DiagramShapeEx shapes.
private void DiagramControl1_ItemCreating(object sender, DiagramItemCreatingEventArgs e) {
if (e.ItemType == typeof(DiagramShape)) {
e.Item = new DiagramShapeEx();
}
}
Register custom item types at the application start using the DevExpress.Diagram.Core.DiagramItemTypeRegistrator.Register method to enable their deserialization.
See Also