Skip to main content

DiagramDataBindingBehaviorBase.GenerateItem Event

Fires before generating a diagram item representing a data object and allows you to customize it.

Namespace: DevExpress.Xpf.Diagram

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

NuGet Package: DevExpress.Wpf.Diagram


public event EventHandler<DiagramGenerateItemEventArgs> GenerateItem

Event Data

The GenerateItem event's data class is DevExpress.Xpf.Diagram.DiagramGenerateItemEventArgs.


By default, the uppermost diagram item defined in XAML within the DiagramDataBindingBehaviorBase.TemplateDiagram is used as the template for the diagram items representing data objects.

You can use the GenerateItem event to implement custom logic for choosing the item template. To do this, create diagram items in the DiagramDataBindingBehaviorBase.TemplateDiagram and specify their names using the DiagramItem.TemplateName property. Specify the name of the desired template as the event’s CreateItemFromTemplate method parameter and assign the method return value to the event’s Item property. See the example below.

private void DiagramDataBindingBehavior_GenerateItem(object sender, DiagramGenerateItemEventArgs e) {
    if (e.DataObject is PentagonDataItem)
        e.Item = e.CreateItemFromTemplate("PentagonShape");
    else e.Item = e.CreateItemFromTemplate("DefaultItem");

Alternatively, you can use the DiagramDataBindingBehaviorBase.ItemTemplateSelector property.

See Also