Essential® Diagram WPF is a powerful, extensible, and feature-rich library for visualizing, creating, and editing interactive diagrams. It supports creating flowcharts, organizational charts, mind maps, floor plans, UML diagrams, and BPMN charts either through code or a visual interface.
- Data visualization: Supports visualizing any graphical objects such as text, image, shapes, or any UIElement or template.
- Built-in Shapes: Provided 445+ standard built-in shapes as ResourceDictionary.
- High Performance: Supports loading large diagrams quickly using UI-virtualization techniques.
- Interaction: Diagram elements can be selected, rotated, resized, and moved.
- Z-Order: Diagram elements overlapping can be controlled by changing its Z-Order value.
- Pan and Zoom: Allows you to pan, zoom in or out of your current diagram.
- Snapping: Snaps the diagram elements towards the nearest element or gridlines.
- Undo/Redo: Allows you to keep track of the recent changes made in a Diagram to correct your mistakes.
- Commands: Built-in commands for various interactions that allows you to easily implement Diagram interaction logic in MVVM pattern.
- Keyboard Shortcuts: Allows you to trigger the diagramming features using keyboard shortcuts.
- Clipboard Operations: Ability to cut, copy, and paste or duplicate selected Diagram elements within and across diagrams.
- Business objects: Ability to populate diagram from datasource (business object) with the help of automatic-layouts.
- Automatic Layouts: Built-in automatic nodes arrangement support for organization chart layout, hierarchical tree layout, flowchart layout, and radial tree layout.
- Serialization: Saves current state of diagram as an XML file, and load them back when needed.
- Printing and Exporting: Supports printing and also exporting the diagram as image.
- Stencil: Gallery of reusable symbols and nodes, which can be dragged and dropped onto the diagram surface at any number of times.
- Overview control: Displays a small preview of the full diagram page, which allows you to improve the navigation.
- Localization: Localizes every static text in the control to any supported language.
This repository contains the samples that demonstrate the functionalities of Diagram control