[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Collapse]Diagram Control
    Getting Started
   [Expand]Diagram Control
   [Expand]End-User Interaction
   [Collapse]Diagram Items
     Default Shapes
     SVG Shapes
     Items with Custom Content
     Creating Shapes and Containers Using Shape Templates
     Managing Items Interaction
   [Expand]Automatic Layout
   [Expand]Data Binding
    Themes and Styles
    Printing and Exporting
    Saving and Loading Diagrams
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Items with Custom Content

Expanded Overview

Simple Shapes in a DiagramControl only display their content as an editable string. Use the DiagramContentItem class to add custom elements to diagram items. DiagramContentItem has the DiagramContentItem.ContentTemplate property, which can be used to place any elements into the item.

To register a DiagramContentItem in the toolbox, use the DiagramStencil.RegisterTool method with FactoryItemTool as a parameter:

After that, register the stencil using DiagramToolboxRegistrator.RegisterStencil.


To properly deserialize a DiagramContentItem, it's necessary to set its DiagramItem.CustomStyleId property, which accepts a Style key applied to the item.

Use DiagramContentItem to represent data objects in diagrams generated from a data source, by specifying DiagramContentItem as the DiagramDataBindingBehaviorBase.ItemTemplate. See the example below.

Expanded Example

The following example shows how to create diagram items that display custom content.

Is this topic helpful?​​​​​​​